Гостевая книгаЗдесь вы можете оставить сообщение для владельца сайта, отзыв о функционировании, оформлении, содержании и вообще написать всё, что думаете по этому поводу. Просьба придерживаться темы («по этому» — это ещё не «по любому») и соблюдать приличия :-) Обратите внимание, что связаться с автором сайта можно также и через страницу обратной связи, которая позволяет отправить автору email. Более старые комментарии можно посмотреть в архиве гостевой книги. Учтите, что комментарии на этом сайте премодерируются. |
пояснениеВы находитесь на официальном сайте Андрея Викторовича Столярова, автора учебных пособий по программированию и информационным технологиям. Если вы искали сайт замечательного писателя-фантаста Андрея Михайловича Столярова, то вам, к сожалению, не сюда. Андрей Михайлович Столяров в библиотеке Мошковаваш сеанс |
☞ From Artem (unverified) Mon Nov 18 21:12:15 2024 UTC
Часовые пояса
У комментов тут есть время отправки, но оно не такое, как у клиента, и часовой пояс сервера тоже не отображается. Как-то неудобно немножко.
ответить
From Andrey V. Stolyarov Mon Nov 18 21:55:13 2024 UTC
Re: Часовые пояса
Всё просто, это UTC.
О том, чтобы показывать время как у клиента, тут не может быть речи, поскольку здесь все страницы, у которых в локальной части URI нет
thalcgi.cgi
, отдаются как обычные файлы. Ну, чтобы было понятно, вот мы тут в гостевой книге общаемся, так вот она, эта гостевая книга:(ls показывает как раз местное время сервера). Кстати, что-то она жирновата уже, пора её в архив и новую завести. Но вот сейчас, когда я этот комментарий отправлю, на сервере указанный файл будет перегенерён, чтобы комментарий стало видно.
А вот показывать какую-то таймзону, отличную от UTC, как ни странно, мешает дебильный интерфейс "стандартных" функций, работающих со временем. Они таймзону берут исключительно из переменных окружения, меня такой способ общения с библиотечной функцией, скажем так, фрустрирует. Видимо, придётся взять какую-то из имеющихся реализаций и поменять ей интерфейс, но пока что находятся задачи поважнее.
ответить
From Guest (unverified) Tue Nov 19 06:31:47 2024 UTC
Re: Re: Часовые пояса
Ну есть конечно способ в статичном ХТМЛ-файле показать локальное время на основе UTC, но он вам ооооой как не понравится,
а я сейчас буду послан куда-то выпить ядано я если что тоже такое очень не поддерживаю, просто как факт решил обозначить.ответить
From Anonymous (unverified) Tue Nov 19 23:20:26 2024 UTC
Re: Re: Часовые пояса
А просто написать в заголовке: From Guest (unverified) Tue Nov 19 06:31:47 2024 UTC
Тогда уже каждый переведет в свое локальное время в уме.
ответить
From Andrey V. Stolyarov Wed Nov 20 08:54:47 2024 UTC
Re: Часовые пояса
Сделал, нехай будет. Хотя по-моему вы публику несколько переоцениваете.
ответить
☞ From Anonymous (unverified) Mon Nov 18 11:28:27 2024 UTC
динамическая линковка и плагины
О недопустимости динамических библиотек в обычном софте все ясно, но как насчет плагинов? Например создание электронной музыки без плагинов не представляется возможным, при этом обработка звука в реальном времени имеет достаточно суровые требования, так что использование скриптовых DSL окажется слишком медленным, и я не вижу других способов реализации таких плагинов, которые в основном занимаются математическими вычислениями, кроме как через dll-ки.
Может быть, если наложить жесткие требования на плагины, скажем чтобы они сами ни с чем больше не линковались (даже с libc только статически) и не создавали dependency hell, тогда применение динамических библиотек в этом случае будет допустимо?
ответить
From Andrey V. Stolyarov Mon Nov 18 11:47:23 2024 UTC
Re: динамическая линковка и плагины
> создание электронной музыки без плагинов не представляется возможным
Вы вообще сами понимаете, что говорите? Как вообще может предметная область конечного пользователя (создание музыки) зависеть от особенности реализации, каковой особенности вообще-то не видно пользователю и каковая не имеет никакого отношения к предметной области (где музыка и где динамический линкер, пардон).
Самое простое решение, которое приходит в голову — ну, тупо пересобирать софтину при добавлении очередного куска кода, который сейчас добавляется как "плагин" (есличо: обсуждать варианты с закрытыми исходниками я вообще в принципе отказываюсь, за распространение софта без предварительной публикации исходников должна быть уголовка). Но вообще-то возможны и другие решения. Например, этот ваш плагин в откомпилированном виде может представлять собой не либу, а программу целиком, реализующую определённые соглашения о связях с основной программой, да хоть бы даже через стандартные потоки ввода-вывода: основная программа запускает плагин на исполнение с перехваченными стандартными потоками и через них с плагином общается, сделай мне это, сделай мне то; хотя, как мы понимаем, вариантов межпроцессного взаимодействия в действительности существует масса, и можно сделать всё как-нибудь более прилично.
Применение динамической линковки для плагинов — это в целом злобный хак, механизм динамической линковки изначально для этого не предназначался. И нет, динамическая линковка не может внезапно стать допустимой. Хотя бы даже по той причине, что использование этих ваших плагинов неизбежно требует всю программу сделать динамически линкуемой и зависящей от толпы динамических библиотек, поскольку плагинам, оформленным в виде либ, тоже нужен доступ к тем библиотечным функциям, которые используются в основной программе.
ответить
From Anonymous (unverified) Mon Nov 18 19:02:38 2024 UTC
Re: Re: динамическая линковка и плагины
Я не автор изначального коммента.
А что мешает передать в функцию указатель на структуру, с указателями на функции API, которые должен мочь использовать плагин?
ответить
From Andrey V. Stolyarov Mon Nov 18 20:27:23 2024 UTC
Re: Re: Re: динамическая линковка и плагины
Ага, функции из условных stdio.h, string.h, stdlib.h или что там вместо них — тоже все по указателям передадим?
ответить
From другой аноним (unverified) Mon Nov 18 20:35:56 2024 UTC
Re: Re: Re: Re: динамическая линковка и плагины
Зачем, их можно использовать напрямую из libc, вот только сама libc и вообще любая библиотека от которой плагин зависит при этом должна линковатся статически, и депенденси хела не будет.
ответить
From Andrey V. Stolyarov Mon Nov 18 20:45:27 2024 UTC
Re: динамическая линковка и плагины
В библиотеках есть глобальные переменные, так что иметь в памяти одного процесса несколько экземпляров той же libc — один для главной программы и по одному для каждого "плагина" — очевидным образом не получится.
Я, кстати, не уверен, что публичные символы модулей, составляющих .so, можно скрыть от главной программы и других .so'шек. Если нельзя, там ещё и тупо конфликты имён будут.
ответить
From Anonymous (unverified) Mon Nov 18 19:53:54 2024 UTC
Re: Re: динамическая линковка и плагины
А есть ли дистрибутив Linux без динамичесой линковки в основном дереве?
ответить
From Andrey V. Stolyarov Mon Nov 18 20:16:03 2024 UTC
Re: динамическая линковка и плагины
Попытки были (StaLi, например), но, по-моему, загнулись. Здесь, на мой взгляд, надо скорее сделать какой-нибудь репозиторий, в котором все пакеты будут самодостаточны (без зависимостей), и собирать его под разные архитектуры и разные пакетные менеджеры. Типа, внёс себе в apt.list или куда там ещё — и можешь ставить из него пакеты, пофиг какой дистр, пофиг какие библиотеки.
Вырастет ли из этого в итоге полноценный дистр — зависит от множества факторов.
ответить
From Anonymous (unverified) Tue Nov 19 20:21:23 2024 UTC
Re: Re: динамическая линковка и плагины
Уже есть, называется AppImage, но только там в пакете просто запиханы все динамические библиотеки нужные конкретному приложению и потому эта штука может запросто весить сотни мегабайт.
ответить
From Andrey V. Stolyarov Tue Nov 19 20:23:50 2024 UTC
Re: динамическая линковка и плагины
> запиханы все динамические библиотеки
В этой ветке обсуждается не то, как преодолеть dependency hell, порождённый динамической линковкой, а то, как устранить саму динамическую линковку как таковую — просто потому что она не имеет права на существование. Не умеете читать — не умейте тогда и писать.
ответить
From Anonymous (unverified) Wed Nov 20 02:22:04 2024 UTC
Re: Re: динамическая линковка и плагины
А вообще, как по-вашему стоит поступать с ресурсами? Например спрайты и звуки в игре, конфиги подсветки синтаксиса разных языков в текстовом редакторе и так далее? Должны они быть в файловой системе или их лучше пихать в исполнимый файл (способы есть)?
ответить
From Andrey V. Stolyarov Wed Nov 20 09:00:37 2024 UTC
Re: динамическая линковка и плагины
Разумеется, всё должно быть в исполняемом файле. Отдельными файлами может быть только то, что предлагается менять самому пользователю. Поэтому вот эти ваши "конфиги подсветки" ещё могут быть отдельными файлами (хотя лучше всё-таки нет, т.е. загрузку из внешних файлов поддерживать, но всё, что идёт вместе с редактором, утрамбовать внутрь бинарника), а вот картинки и звуки от игрушки быть отдельными файлами просто не имеют права вообще от слова совсем.
Ну хотя вообще-то есть ещё такой момент, что "современные" игрушки этих самых картинок, звуков, анимаций и прочей мультимедии могут на себе тащить столько, что в один исполняемый файл это всё просто не влезет, по крайней мере для 32-битных платформ. Тогда внешние файлы придётся использовать просто из-за технической безысходности. Но вот когда к исполняемому бинарнику прилагается отдельными файлами толпа всяких иконок по три килобайта каждая — ей-богу, лично мне хочется кого-нибудь убить.
Насчёт "способы есть" мне даже интересно, а что, есть такие люди, которые в этом сомневаются? Ну то есть бывают такие "программисты", для которых проблема, скажем, взять бинарный файл произвольной природы и сконвертировать его в файл на языке Си, содержащий один большой константный массив? А в основной программе этот массив задействовать? Ну и Makefile написать соответствующим образом, чтобы этот "файл на Си с константой" не считался исходником, автоматически генерился и автоматически же удалялся. Очевидно же, не?
ответить
From Artem (unverified) Wed Nov 20 11:21:39 2024 UTC
Re: Re: динамическая линковка и плагины
В играх всё же лучше хранить ресурсы отдельно, это облегчает работу по созданию не очень значительных модификаций (типа изменённых текстур) и их комбинированию даже не в разы, а на несколько порядков. В то же время и хранить иконки отдельными файлами, конечно, нет смысла: форматов, позволяющих хранить множество картинок в одном файле, предостаточно.
Как вариант именно для софта с большим количеством тяжёлых медиаресурсов (игр, например) можно пришивать к бинарнику образ файловой системы.
ответить
From Andrey V. Stolyarov Wed Nov 20 12:53:55 2024 UTC
Re: Re: Re: динамическая линковка и плагины
> это облегчает работу по созданию не очень значительных модификаций (типа изменённых текстур) и их комбинированию даже не в разы, а на несколько порядков
Это проблемы программистов, не пользователей и даже не майнтейнеров, а программистов (ну хорошо, "разрабочиков", чем и кем бы они ни были). Если хотят себе облегчать задачу, пусть предусматривают два варианта сборки — для внутреннего использования с загрузкой всего из файлов и для передачи конечным пользователям в виде одного монолитного бинарника. Тех поганых бабуинов, которые, облегчая жизнь себе, осложняют её пользователям и майнтейнерам, следует отстреливать.
> можно пришивать к бинарнику образ файловой системы.
ага, и тем самым резко повышать требования к среде исполнения. Слушайте, что за бредни, а?
ответить
From Artem (unverified) Wed Nov 20 14:39:32 2024 UTC
Re: Re: Re: Re: динамическая линковка и плагины
Я обдумывал вариант с двумя версиями, и отбросил его, поскольку хоть задача создания мода и может быть отнесена к такой, для которой нужна квалификация, но задача комбинирования модов выполняется почти всегда конечным пользователем, под каковым я понимаю того, кто будет играть. И поэтому спустя всего пару лет после выхода игры, если она станет популярной, конечные пользователи будут качать исключительно вариант "для разработчиков", потому что только он и даст им возможность самостоятельно, никого не прося, а просто следуя простой инструкции, поставить более одного мода одновременно, заменив, например, модельку не одного, а сразу двух персонажей. Закончится это тем, что мы вернёмся в исходную точку, с той лишь разницей, что игра будет лежать с кишками наружу не у всех пользователей, а почти у всех. Поэтому нет, возможность именно для конечного пользователя разобрать игру, встроить что-то, и собрать обратно, необходим. Ну, возможно ещё, что "зашивание" ресурсов в сочетании с открытым кодом приведёт к созданию модов, которые невозможно будет скомбинировать, не написав в процессе ещё один, но нафиг-нафиг такой мир.
Требования к среде исполнения повышаются так, что не повышаются совсем, а то и снижаются, ведь разумеется, использовать полноценную ФС для такой простой задачи никто не будет, никто из рода Homo, я имею в виду. Например, в игре Doom, которую если и не запустили ещё на градуснике, то лишь потому, что он ртутный, для хранения ресурсов используется именно файл с примитивнейшей ФС. Вот разве что приклеивать его к исполняемому файлу они не стали.
Правда, я до сих пор не знаю, возможно ли сделать для ELF так, чтобы гигантский бинарник не загружался в память целиком, и некоторые его части оставались только на диске, подгружаясь по запросу. В виндовом PE это точно возможно, и активно используется.
ответить
From Andrey V. Stolyarov Wed Nov 20 15:13:58 2024 UTC
Re: динамическая линковка и плагины
> задача комбинирования модов выполняется почти всегда конечным пользователем
Ага, теперь отматываем назад и смотрим мой собственный текст:
Отдельными файлами может быть только то, что предлагается менять самому пользователю
Если намерения именно таковы — ну да, пусть будут отдельные файлы. Поскольку я на игрушки более-менее забил лет двадцать назад, мне сложно оценить, насколько тут всё логично или, напротив, притянуто за уши.
> возможно ли сделать для ELF так, чтобы гигантский бинарник не загружался в память целиком
Он и не "загружается", там mmap. В смысле, если я только правильно понимаю, что к чему, секции из бинарника отображаются в адресное пространство процесса, но это не значит, что они тут же будут физически загружены в RAM.
Если адреса 32-битные, нас это не спасёт.
ответить
From Artem (unverified) Wed Nov 20 16:38:06 2024 UTC
Re: Re: динамическая линковка и плагины
Я имел в виду несколько другое: чтобы часть файла, хранящая ресурсы, вообще не отображалась в память, и, чтобы получить доступ к ресурсам, нужно было бы открывать этот файл именно как файл, или типа того.
ответить
From Andrey V. Stolyarov Wed Nov 20 17:14:47 2024 UTC
Re: динамическая линковка и плагины
> чтобы часть файла, хранящая ресурсы, вообще не отображалась в память,
Ну, это точно можно (отладочные символы, например, в память не отображаются), вопрос в том, насколько такое нужно. В некоторых случаях может оказаться проблемой просто понять, где лежит тот бинарник, из которого нас запустили.
ответить
From Anonimys (unverified) Wed Nov 20 16:43:16 2024 UTC
Re: Re: Re: динамическая линковка и плагины
>это облегчает работу
Все файлы можно представить в двоичном виде, типо xxd -i file. Тут -i означает include, чтобы сразу в С вставить. И в стандартной библиотеке есть функция fmemopen которая открывает статичный массив как файл. Таким образом, для того чтобы "вшить" ресурсы игры, достаточно просто их добавить при компиляции. Если игра не на С, то можно отдельно их в объектный файл откомпилит
ответить
From Andrey V. Stolyarov Wed Nov 20 17:12:27 2024 UTC
Re: динамическая линковка и плагины
> xxd -i file
Вот же чёрт, я про это не знал и благополучно писал для таких целей вспомогательные программки.
> fmemopen
Это "инновация" от glibc, т.е. переносимость сразу идёт лесом. Да и вообще, если такое потребовалось, то что-то мы не то делаем.
ответить
From Василий Ильич (unverified) Wed Nov 20 14:38:08 2024 UTC
Re: Re: динамическая линковка и плагины
> Разумеется, всё должно быть в исполняемом файле.
Честно признаю, что у меня даже мысли не было что можно так делать. Дошло до того, чтобы на Pascal'е делать игрушки, я думал сделать программку, в которой я буду делать цветные ASCII "картинки", которые где-то будут храниться отдельно (этот вопрос я хотел отдельно изучить, в каких директориях по-хорошему это надо хранить в *nix системах). От этого преступления мир спасли только мои лень и дефицит свободного времени.
Но если "отойти от стада" и, вспоминая, ряд программ, которые действительно работают на одном бинарнике, то это кайф.
ответить
From Anony (unverified) Wed Nov 20 12:48:20 2024 UTC
Re: Re: Re: динамическая линковка и плагины
Откройте исходники талассы и посмотрите как организована работа с изображениями в директории ./lib/captcha.
ответить
From Andrey V. Stolyarov Wed Nov 20 12:55:02 2024 UTC
Re: динамическая линковка и плагины
Гыгыгыгыгы, кто-то про это вспомнил раньше меня :-D
ответить
☞ From Anonymous (unverified) Sat Nov 16 12:22:01 2024 UTC
Как придумывать задачи?
Здравствуйте, Андрей Викторович, не подскажете как придумывать себе задачи при изучении программирования? Возможно в книге где-то был на это ответ, и я просто пролопатил его или забыл. Меня очень, смущает, что я не могу придумать себе интересную задачу(да и в целом хоть какую-то), возможно, из-за не хватки знаний, которые у меня пока что есть(перешёл к изучению паскаля, только недавно дошёл до подпрограмм). Просто совсем не хочется высасывать из пальца какие-то сомнительные задачи сомнительного качества, которые к тому же на раз два решаются потому, что чего-то стоящего придумать не получается. До этого изучал С++ отдельно, ничего не зная(уже понял, что крайне сомнительная затея была, но всё же с массивами повеселее было).
Вот такую вот простыню я вам расписал.
Предпочту оставаться анонимным в связи с нелепостью вопроса :)
ответить
From Andrey V. Stolyarov Sat Nov 16 18:07:07 2024 UTC
Re: Как придумывать задачи?
У меня встречный вопрос: является ли командная строка Unix для вас, во-первых, основным инструментом работы с компьютером, и, во-вторых, единственным средством работы с файлами, т.е. верно ли утверждение, что такие вещи, как копирование, переименование, удаление файлов и прочее в таком духе вы делаете всегда исключительно командами командной строки? Подчёркиваю, речь идёт обо всех повседневных делах, которые вы делаете с помощью компьютера, т.е., например, даже если вы, ктулху упаси, играете в какую-нибудь браузерную онлайн-игрушку, которая иначе как в долбаном хроме не запускается, то лучше, конечно, в неё перестать играть, но если перестать никак, то во всяком случае для доступа к ней должна использоваться команда командной строки:
— и вообще должен существовать только один способ запуска браузера — в терминале набрать его название.
Если всё так, идеи скоро появятся. А если нет, то мне вам помочь нечем, моя методика без этого не работает, об этом довольно подробно рассказано в предисловиях к книжке.
Кстати, массивы в Паскале есть, без них вообще было бы странно.
ответить
From Parthen (unverified) Sat Nov 16 18:56:06 2024 UTC
Re: Re: Как придумывать задачи?
>и вообще должен существовать только один способ запуска браузера — в терминале набрать его название.
А хоткей?
ответить
From Andrey V. Stolyarov Sat Nov 16 20:02:33 2024 UTC
Re: Как придумывать задачи?
А нахрена? Ctrl-R я бы не сказал, что сильно медленнее, зато позволяет искать не только имя браузера, но и имена сайтов.
ответить
From Anonymous (unverified) Sat Nov 16 23:21:55 2024 UTC
Re: Re: Как придумывать задачи?
Да, для повседневных задач стараюсь использовать unix систему, но к сожалению единственный аспект, который не получится воплотить — это игры, для которых я иногда запускаю windows. Работа с файлами, браузер и т.п. происходит на unix системе. Забыл отметить, что единственная задача, которую я делал(хотя и очень банальную) — это запуск необходимых мне программ через командный файл шела. То есть запускаю систему, этот файл открываю, и мне запускаются программы(пока что две: браузер и atril) Также, не назвал, по моему мнению, важный аспект: я почему-то ставлю задачи, которые превышают мои силы в сотни раз(конечно не выполняю их, у меня знаний просто нет; я пока что даже главу про подпрограммы на паскале не прочитал); то есть на момент чтения первой главы мне уже хотелось сделать приложение, на моменте чтения главы 2.1 меня вообще занесло каким-то образом к нейросетям, а также весь путь обучения хочется игры делать, ну и, конечно, хочется сделать свою почту и условно локальную сеть.
ответить
From Andrey V. Stolyarov Sun Nov 17 00:44:05 2024 UTC
Re: Как придумывать задачи?
На вопрос, который я вам задал, вы не ответили. Дело ваше, но мне не вполне понятно, чего вы тогда от меня хотите.
ответить
From How? Sun Nov 17 01:03:24 2024 UTC
Re: Re: Как придумывать задачи?
Извините, не правильно прочитал. Да все задачи выполняю через терминал
ответить
From Andrey V. Stolyarov Sun Nov 17 09:07:01 2024 UTC
Re: Как придумывать задачи?
А, ну тогда всё просто. Паскалевскую часть книжки вы, насколько я понимаю, только начали, глава 2.3 — это же самое начало. Написать что-то рабочее у вас пока недостаточно знаний. Если вам нужны мелкие задачи на закрепление прочитанного, ну вот есть задачник, а в целом штурмуйте часть про Паскаль дальше. Когда в вашем распоряжении будут массивы, записи, символы и строки, аргументы командной строки, файлы, управление экраном терминала — будет на чём развернуться, а после освоения указателей возможностей станет ещё больше.
ответить
From How? Sun Nov 17 11:26:39 2024 UTC
Re: Re: Как придумывать задачи?
Спасибо большое! Я уже начал думать, что с моим мышлением или со мной что-то не так
ответить
From Anonymous (unverified) Sat Nov 16 19:34:07 2024 UTC
Re: Как придумывать задачи?
У меня регулярно возникают задачи как-то сами собой, то я пытаюсь что-нибудь на projecteuler решить, то подобрать магический квадрат, то посчитать уравнение времени, то есть поправку между солнечными и обычными часами. Иногда решаю программированием обычные головоломки, которые в общем-то полагается решать вручную из каких-нибудь блогов, видео (MindYourDecision на ютубе например), статей. Или у меня возникают идеи простеньких игр которые почему-то никто толком не сделал. Например есть советская головоломка с цветными шариками в цилиндре - вот компьютерную версию найти весьма сложно.
Почему бы не решать с помощью программирования даже простенькие задачи, которые решаются на раз-два?
ответить
From Andrey V. Stolyarov Sat Nov 16 20:25:37 2024 UTC
Re: Как придумывать задачи?
Задачи на projecteuler не имеют никакого отношения к начальному обучению программированию. Это скорее шаг в сторону и (на этом этапе) пустая трата времени и сил.
С играми есть одна засада: графический режим нам (опять же на этом этапе) недоступен и не может быть доступен, оконные программы и библиотеки виджетов рассматриваются только в третьем томе, и изложенное там опирается на объектно-ориентированное программирование, к которому приступать раньше чем через два года после начала (и раньше получения опыта создания программ на несколько тысяч строк каждая) — ну, в общем, только мозги портить, причём зачастую необратимо.
Иной вопрос, что игрушки можно писать и в текстовом режиме. Полноэкранным программам в книжке целая глава посвящена в части про Паскаль, и ещё одна — в части про чистый Си.
ответить
From Alexander (unverified) Sat Nov 16 21:06:39 2024 UTC
Re: Re: Как придумывать задачи?
Андрей Викторович, а книга «Этюды для программистов» Чарльза Уэзерелла может служить подспорьем для вдохновения или примеры из этой книги будут сложными для начинающих? Как-то видел тут в гостевой книге, что вы упоминали эту книгу.
ответить
From Andrey V. Stolyarov Sat Nov 16 22:12:08 2024 UTC
Re: Как придумывать задачи?
Книжка неплохая, я сам оттуда в своё время один этюд стибрил. Для совсем начинающих она всё-таки вряд ли подойдёт, а для "уже не совсем" начинающих — скажем так, можно предлагаемые там этюды просмотреть, и если что-то из этого реализовать захочется — то реализовать. Если ощутимого желания не возникнет — лучше не вымучивать, всё равно толку не будет.
Если интересуетесь этюдами из книжек, можете ещё на задачник посмотреть, там тоже есть этюды такого рода.
ответить
From Anonymous (unverified) Sun Nov 17 10:14:08 2024 UTC
Re: Re: Как придумывать задачи?
> Задачи на projecteuler не имеют никакого отношения к начальному обучению программированию.
Ну так я их решаю и не для обучения программированию, а просто потому что хочется. А когда не хочется - не решаю.
Я просто хотел поделиться своим опытом. Мне задачи сами собой прилетают и их больше чем у меня есть времени/желания решать. То на каком-нибудь сайте какая-нибудь головоломка, то случайная идея, то ещё что-то такое.
Игры можно писать только на stdin/stdout в наборе bsdgames есть несколько игр, например adventure. То есть просто после каждой команды игрока выплёвывать всё игровое поле на stdout, так может быть даже проще. Если игра пошаговая, то почему бы нет?
ответить
From Andrey V. Stolyarov Sun Nov 17 10:16:31 2024 UTC
Re: Re: Re: Как придумывать задачи?
> Мне задачи сами собой прилетают и их больше чем у меня есть времени/желания решать.
Ну так исходный вопрос был задан по конкретной ситуации, у вас ситуация совершенно иная.
ответить
☞ From Максим Клочков Thu Nov 14 22:06:31 2024 UTC
О компиляторах для начинающих
Студенты задали вопрос -- что почитать про внутренее устройство и логику работы транслятора, т. е. как из команд языка высокого уровня генерируются команды ассемблера, как организуется стек, как выполняются вызовы функций, и т. п.
Я в затруднении. Книга Ахо/Сети/Ульман -- классика, конечно, но для введения в предмет IMHO некий оверкилл.
Что прогрессивная общественность посоветует?
ответить
From Andrey V. Stolyarov Thu Nov 14 22:10:39 2024 UTC
Re: О компиляторах для начинающих
Лично я не посоветую ничего другого. По-моему, нету.
ответить
From Stan (unverified) Sun Nov 17 12:53:23 2024 UTC
Re: Re: О компиляторах для начинающих
Какая из двух версий книги лучше?
ответить
From Andrey V. Stolyarov Sun Nov 17 15:32:29 2024 UTC
Re: О компиляторах для начинающих
Так их вроде уже три. Но второе и третье издание я не видел, так что ничего сказать не могу. У первого имеется несомненное достоинство — оно переведено на русский и если хорошо поискать, то найдётся в интернете.
ответить
From Artem (unverified) Sun Nov 17 15:58:02 2024 UTC
Re: Re: О компиляторах для начинающих
Второе тоже переведено, и тоже находится (мне удалось)
ответить
From Ilya Sun Nov 17 17:50:13 2024 UTC
Re: Re: Re: О компиляторах для начинающих
во втором добавлены 4 новые главы
Глава 7. Среды времени выполнения
Глава 10. Параллелизм на уровне команд
Глава 11. Оптимизация параллелизма и локальности
Глава 12. Межпроцедурный анализ
в PDF на русском языке есть здесь
https://rutracker.org/forum/viewtopic.php?t=5898820
в третье издание 2023 года, добавлена глава про неопределенное поведение, дающее возможности для оптимизации, и глава про то как писать формальные спецификации к языку. Правда оно в EPUB.
https://rutracker.org/forum/viewtopic.php?t=6554237
ответить
From Andrey V. Stolyarov Sun Nov 17 18:32:39 2024 UTC
Не читал, но осуждаю
Судя по названиям глав, книга превратилась в ньюфажное убожество.
ответить
From Ilya Sun Nov 17 20:33:17 2024 UTC
Re: Не читал, но осуждаю
со Страуструпом так же было, история повторяется
ответить
From Stan (unverified) Mon Nov 18 17:31:23 2024 UTC
Re: Не читал, но осуждаю
Поэтому и интересовался, какая версия лучше, посмотрев на оглавление второго издания. :) Электронная версия второго издания вообще повсюду валяется. Но я куплю бумажную версию первого, пожалуй. Спасибо.
ответить
From Василий Ильич (unverified) Fri Nov 15 06:36:32 2024 UTC
Re: О компиляторах для начинающих
Я осмелюсь предложить глянуть на LOR'е цикл статей "STM32 снизу". Там примеры с дизассемблированием, скриптами для ld (для меня это было открытие, что для него пишут скрипты). Так ещё всё и под Linux'ом.
Сам честно только пролистал, пока с AVR балуюсь, т.к. побаиваюсь пока что 32-битную архитектуру на МК. Но даже на AVR, ловятся интересные моменты. Например, если писать на ассемблере, то данные из .data не попадают сразу в ОЗУ, а хранятся в памяти программы и надо ручками это грузить в ОЗУ. На форумах мне писали, чтобы облегчить эту работу в основном два варианта: или писать скрипт для ld или писать на Си, потому что он при компиляции там уже всё сделает "как надо".
ответить
From Andrey V. Stolyarov Fri Nov 15 09:24:52 2024 UTC
Re: О компиляторах для начинающих
> писать на Си, потому что он при компиляции там уже всё сделает "как надо".
Врут они всё. Там гарвардская архитектура, и в программной памяти минимальное адресуемое — 16-битное слово, при этом в оперативке всё традиционно восьмибитно. И адресные пространства, естественно, свои там и там. В таких условиях никакой компилятор от вас происходящее не скроет, ну то есть можно, конечно, строковые литералы и прочие константные массивы сразу при старте копировать в оперативку, но оперативка-то не резиновая. А если их оставлять в программной памяти, то доступ к ним приходится производить через "хитрые" указатели и хитрым же образом, поскольку приходится объяснять, адрес из какого пространства вы имеете в виду.
ответить
From Василий Ильич (unverified) Fri Nov 15 14:14:17 2024 UTC
Re: Re: О компиляторах для начинающих
> при этом в оперативке всё традиционно восьмибитно
Этого я как-то не заметил. У меня atmega328p, по документации там адресация Internal SRAM начинается с 0x0100 до 0x08FF. Т.е. чтобы обратиться к ячейке оперативной памяти мне нужно использовать XYZ-регистры, которые используются для 16-битной адресации. Разница между SRAM и PM по обращению к памяти, в том, что к PM я могу обращаться только с помощью Z-регистра, когда к SRAM через все XYZ-регистры. Ну и загрузка из PM 3 такта, а из SRAM 2 такта.
Хотя, к регистрам, которые занимают как раз первые 0x00FF байтов можно действительно обращаться восьмибитно, но там только 32 регистра общего назначения. Много там не похранишь. :)
> Там гарвардская архитектура
Что там гарвардская архитектура я читал, а что именно это значит, обратил это только сейчас. Что PM и SRAM -- разные адресные пространства, я как-то пропустил. А слона в комнате не увидел. Спасибо!
> к ним приходится производить через "хитрые" указатели и хитрым же образом
Осмелюсь предположить, что это как раз из-за того, что только через Z-регистр можно обратиться к PM.
ответить
From Andrey V. Stolyarov Fri Nov 15 14:19:39 2024 UTC
Re: Re: Re: О компиляторах для начинающих
Я имел в виду, что там байты (a.k.a. минимально адресуемые) таки восьмибитные, а в программной памяти 16-битные. Указатели-то там восьмибитными никак быть не могут, даже на несчастной ATMega8 таки 1024 байта оперативка.
ответить
From rkvg-es (unverified) Fri Nov 15 17:43:06 2024 UTC
Re: Re: Re: Re: О компиляторах для начинающих
Запутался: под программной памятью Вы здесь подразумеваете ROM или RAM?
ответить
From Andrey V. Stolyarov Fri Nov 15 18:25:25 2024 UTC
Re: О компиляторах для начинающих
Там, насколько я понимаю, ни то ни другое. Программная память прошивается программатором (т.е. вроде это должен быть ROM), но её при большом желании можно изменять программно, хоть и через гадину (и какой это после этого ROM). Но уж точно это не RAM.
ответить
From Artem (unverified) Fri Nov 15 19:48:33 2024 UTC
Re: Re: О компиляторах для начинающих
Тогда и чип с прошивкой материнки и прочих железяк это не ROM. Большинство ROM сегодня это EEPROM.
ответить
From Andrey V. Stolyarov Fri Nov 15 21:19:49 2024 UTC
Re: О компиляторах для начинающих
А вот ни фига, EEPROM там тоже есть, в виде ещё одного (третьего) адресного пространства. И он программной памятью не является.
ROM я всё-таки привык воспринимать как нечто живущее в том же адресном пространстве, что и RAM.
ответить
From Василий Ильич (unverified) Fri Nov 15 20:46:01 2024 UTC
Re: Re: Re: Re: Re: О компиляторах для начинающих
> Вы здесь подразумеваете ROM
Тут, наверное мой косяк, не пояснил. Есть RAM, которая живёт пока устройство включено. А PM я обозначил Program Memory, которая является энергонезависимой памятью, в которую как раз и зашивается программа. И её действительно можно перезаписывать в ходе работы, но везде где я читал/слушал, пишут/говорят, что делать так ни в коем случае не надо.
Ещё отдельно стоит EEPROM. С ним я ещё не работал. Я понимаю, что он используется как "дисковое пространство". (Надо бы глянуть в первый том, а то уже плохо помню терминологию.)
ответить
From Василий Ильич (unverified) Fri Nov 15 21:52:24 2024 UTC
Re: Re: Re: Re: Re: Re: О компиляторах для начинающих
> (Надо бы глянуть в первый том, а то уже плохо помню терминологию.)
Забавное когнитивное искажение. Почему-то в голове жёстко отпечаталось, что "памятью" пространство на дисках называть нельзя и надо это дело называть "дисковым пространством" (или чем-то подобным), а память это как раз RAM. Сейчас перечитал, ничего такого не нашёл.
Вот как такое происходит? Это лечится?
ответить
From Andrey V. Stolyarov Sat Nov 16 09:41:07 2024 UTC
Re: О компиляторах для начинающих
> "памятью" пространство на дисках называть нельзя
Разумеется, нельзя. См. параграф 1.1.2, примерно через две страницы после начала параграфа.
Но на микроконтроллерах приходится менять терминологию, это другой мир. На тех же AVR для работы с EEPROM никакой драйвер не нужен, да и программную память можно гонять в хвост и в гриву командами процессора, но, тем не менее, EEPROM, PM и RAM (то, что обычно называют памятью) тут вещи совершенно разные.
ответить
From Anonymous (unverified) Fri Nov 15 06:40:45 2024 UTC
Re: О компиляторах для начинающих
А если попробовать это всё разработать самостоятельно и потом уже читать книгу и сравнить свои решения с предложенными?
ответить
From Andrey V. Stolyarov Fri Nov 15 09:28:07 2024 UTC
Re: О компиляторах для начинающих
Ранние версии Фортрана были исключительно уродливы, поскольку теории синтаксического разбора у их создателей на вооружении не было.
Скорее всего, результатом такого эксперимента станет "изобретение" неких подходов, совершенно естественно кривых, но от которых будет тяжело отказаться, когда допрёт, как оно должно быть.
Вообще, наверное, по всем основным пунктам "вкатывания" в это дело можно найти что-нибудь в Интернете. Начать с порождающих грамматик имени Хомского и их классификации по тому же Хомскому. Потом взять конечные автоматы, освоить их прямую связь с грамматиками типа 3 (регулярными) и примерно прикинуть, как на этом сделать лексический анализатор. Следующим пунктом — рекурсивный спуск. Собственно, этого всего обычно достаточно, если язык изначально проектировать под анализ рекурсивным спуском.
ответить
From Anonymous (unverified) Sat Nov 16 07:42:47 2024 UTC
Re: Re: О компиляторах для начинающих
https://habr.com/ru/articles/177701/
Судя по этой статейке (надеюсь она и без джаваскрипта откроется, там по сути только текст) грамматики типа 3 позволяют в общем-то задать только начальный элемент, конечный и некоторое количество промежуточных.
https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D1%8B%D0%B9_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82
Судя по этой статье, возможно имеется ввиду, что алгоритм должен считывать по одному символу и в зависимости от этого менять состояния, вроде того что он в данный момент считывает имя переменной, литерал, операцию и тд и переходы между состояниями зависят от прешествующих состояний, например после имени переменной в правой части присваивания должна быть скобка, символ операции, пробел или терминатор выражения (перевод строки, точка с запятой и тд) и если находится что-то не то, то алгоритм должен переходить в состояние "ошибка такого-то вида" и прекращать считывать символы.
ответить
From Andrey V. Stolyarov Sat Nov 16 09:35:59 2024 UTC
Re: Re: Re: О компиляторах для начинающих
В действительности всё довольно просто. На грамматиках типа 3 (регулярных) _не_ берётся скобочная структура, в смысле баланс скобок. Т.е. нельзя задать такой язык (множество цепочек), в котором баланс скобок всегда соблюдается. Поэтому грамматики типа 3 годятся только для лексического анализа, уж идентификатор от числового или строкового литерала оно как-нибудь отличит.
На грамматиках типа 2 (контекстно-свободных) скобочная структура берётся, а вот, скажем, "тройные скобки" — такой язык, в цепочках которого сначала N открывающих скобок, потом столько же, т.е. N, например, точек, а потом ещё N закрывающих скобок — вот такое уже не берётся.
На грамматиках типа 1 (контекстно-зависимых и/или неукорачивающих, у них порождающая мощность одинаковая), насколько я понимаю, берутся все языки, для которых задача разбора алгоритмически разрешима.
Ну а на грамматиках типа 0 берутся все рекурсивно-перечислимые языки. Задача разбора для них в общем случае неразрешима.
Для применения в области формальных языков интересны только грамматики типа 3 и 2, причём из тех, которые типа 2, обычно выделяют ограниченные подклассы, разбираемые за линейное время. Простейший из них, если не ошибаюсь, LL(1) — тот, что берётся рекурсивным спуском.
ответить
From Anonymous (unverified) Sat Nov 16 15:48:52 2024 UTC
Re: Re: О компиляторах для начинающих
А грамматики имеют что-то общее с регулярными выражениями? И то и другое - способы описать подмножество всех возможных строк из символов какого-то алфавита более компактно чем полным перечислением вариантов.
ответить
From Andrey V. Stolyarov Sat Nov 16 18:09:35 2024 UTC
Re: О компиляторах для начинающих
> А грамматики имеют что-то общее с регулярными выражениями?
Разве что выразительную мощность: грамматики типа 3 позволяют задать то же самое множество языков, что и регулярные выражения.
> И то и другое
Таких "способов" существует овер-дофига.
ответить
From искусствовед (unverified) Tue Nov 19 09:18:17 2024 UTC
Re: Re: О компиляторах для начинающих
> Ранние версии Фортрана были исключительно уродливы, поскольку теории синтаксического разбора у их создателей на вооружении не было.
А также из-за очень ограниченного алфавита айбиэмовской оргтехники, на которой готовились и распечатывались фортрановские программы.
ответить
From Andrey V. Stolyarov Tue Nov 19 10:52:14 2024 UTC
Re: О компиляторах для начинающих
Э нет, пардон, латинский алфавит и пробелы там присутствовали, так что никакие ограничения по доступным символам не имеют никакого отношения к тому, что обыкновенный пробел ранними фортранами тупо ингорировался, а ключевые слова и имена переменных компилятор опознавал как последовательности букв, независимо от того, есть между ними (или внутри них) пробелы или нет.
ответить
From Anon (unverified) Sat Nov 16 09:13:40 2024 UTC
Re: О компиляторах для начинающих
Свердлов С. З. - Языки программирования и методы трансляции
Appel & Ginsburg - Modern Compiler Implementation in C
ответить
From imun (unverified) Tue Nov 19 11:12:34 2024 UTC
Re: О компиляторах для начинающих
Пара книг, которые мне лично понравились:
В последней студенты скорее всего найдут базовые ответы на все указанные выше вопросы и даже смогут попрактиковаться на задачках (там, правда, Racket, не знаю насколько это прогрессивно).
ответить
From Andrey V. Stolyarov Tue Nov 19 18:50:24 2024 UTC
Racket, гм
Я бы сказал, использование Racket приводит к когнитивным искажениям. Попросту говоря, мир начинает восприниматься не таким, какой он на самом деле есть.
ответить
☞ From Parthen Sun Nov 10 01:14:10 2024 UTC
Яндекс жжёт
Сливы красных флагов из Яндекса:
- в резюме много С, работает руками с железом, пишет ПО в рамках робототехники (чаще всего они не хотят переходить писать веб и завалят секции)
- опыт с Qt, Unreal Engine (gamedev), embedded не должен быть основным
- разработка железа - старые стандарты С++ (98 г), например 15 лет опыта и нет ничего про новые стандарты
https://imgur.com/a/JXNwtKl
Геймдев, микроконтроллеры и робототехнику исключили, а то люди программировать умеют, в веб их не запихнуть :)
ответить
From Максим Клочков Sun Nov 10 11:11:41 2024 UTC
Re: Яндекс жжёт
Там по ссылке ещё много интересного :)
Но не будем забывать, что бэкенд-разработка - это такая же разработка, как курица - птица :) Я здесь же ниже в одном из комментариев писал, чем обычно занимаются бэкенд-разработчики. Умные там не нужны, креативные тем более. Нужны аккуратные и терпеливые.
ответить
From Дима (unverified) Sun Nov 10 12:16:35 2024 UTC
Re: Яндекс жжёт
Я вот почитываю периодически здесь комментарии и вот стриггерился на Unreal Engine. И решил комментарий оставить.
Я считаю что мне повезло и мне удалось поработать в геймдеве где разработка велась в стиле рекомендуемым автором этого сайта. Т.е. код писался на смеси C и С++, очень редко использовались шаблоны. Сторонних движков не использовалось. Возможно взяли меня туда из-за схожести увлечений с тимлидом. Оба ассемблером увлекались, SoftICE'ом баловались для отладки.
Спустя какое-то время это всё развалилось и пришлось столкнуться с современным игростроем. Сразу свалился на голову Unity (будь он трижды неладен). Пришлось общаться с т.н "Unity программистами" и в какой-то момент я поймал себя на том, что где-то я уже это видел. На самом деле весь этот современный игрострой - это веб середины 2000-х. В основном все "Unity программисты" - это бывшие PHP программисты, разработчики сайтов и т.п. Подходы в разработке такие - взять какую нибудь модную библиотечку (чем современнее, тем лучше) приклеить соплями не разбираясь как это работает и добавить себе плюсик к ЧСВ. Периодически надо обновлять движок до последней версии, после чего всё к чертям ломается. При этом начальству докладывают о том что из-за движка всё поломалось - надо чинить, а они вообще ни в чем не уиноваты, это разработчики движка плохие.
Я какое-то время считал, что хуже этого быть ничего не может, но в какой-то момент столкнулся с Unreal Engine. Здесь всё тоже самое только помноженное на масштаб. Точно также тянут в рот всё самое последнее и модное. К ЧСВ добавляют не 1 плюсик, а 10 плюсиков. Есть впечатление, что в СНГ разработка на UE это использование блюпринтов, С++ здесь редко используется, в основном, как я понял, из-за скорости разработки. Блюпринты наверное раз в 5 ускоряют. С++ там тоже очень специфический. Очень не поощрается использование сырых указателей, обычных массивов (а где сейчас это поощряется?). Игра может упасть из-за использования статических переменных, оказывается анриловский сборщик мусора их может попытаться удалить. Отладочный бинарник + библиотеки на этом движке может весить около 10Гб и это скорее всего не предел. С документацией тут тоже всё хреново. Чтобы понять как что либо сделать вас "старшие" товарищи отправят смотреть видео на ютубчике. Т.е. чтобы получить информацию по какой нибудь мелочи вам придётся посмотреть получасовое (в лучшем случае) видео и возможно не один раз.
Общался с программистом, который на западе работает на UE. У них программисты пишут всё на С++, блюпринты используют только дизайнеры. При всех тех минусах плюсов которые я выше указал. У нас в основном используют блюпринты.
Ну и немного в общем по современном IT и современных программистах. Вот довелось мне немного поучаствовать в разработке сервера на С++. Всего строк написано - меньше 2000. У моего начальника размер бинарников на выходе ~300Мб, у меня 175Мб. Для сравнение, раньше мы игру делали на 100000 строк кода и размер бинарника на выходе ~2Мб.
ответить
From Artem (unverified) Sun Nov 10 14:57:12 2024 UTC
Re: Re: Яндекс жжёт
>> У моего начальника размер бинарников на выходе ~300Мб, у меня 175Мб
O_0 Это как вообще? Что вы туда затянули такое здоровенное? У меня столько при полностью статической компиляции с включённой отладкой не было ни разу... Это же больше долбаного ядра Linux с кучей модулей, где десятки/сотни миллионов строк!
На первом курсе велели нам разбиться на группы и делать некие "проекты" на свободную тему, и одна из таких групп решила сделать что-то вроде игры. Выбрали Unity, и тот чел, что писал тогда в той команде код, недавно поведал, что на самом деле он почти не писал ничего, а по большей части просто нажимал Tab, и среда писала вместо него. Причём ровно то же самое происходит и сейчас, но уже в курсе Python'а: половину программы пишет ChatGPT, другую половину дописывает PyCharm под аккомпанемент Tab'а.
ответить
From anon (unverified) Sun Nov 10 16:06:00 2024 UTC
Re: Re: Re: Яндекс жжёт
Да что там си шарпы. Они вроде не сильно заморачиваются над размерами. В комментариях помню спрашивали про язык Zig и замену Си. Вот только выдает этот зиг 2mb с "хэллоу ворлда". И это без отладочной информации. Какой там Си, тут даже паскаль тащит (40кб с учетом программы на 400+ строк). Суть даже не в том, что там "что-то можно открутить", а в том, что свежепоставленный Free Pascal обыгрывает свежепоставленный Zig по размерам исполняемого файла. И это с погоней разрабов заменить Си.
ответить
From Parthen Sun Nov 10 15:38:45 2024 UTC
Re: Re: Яндекс жжёт
Гм, интересно.
То, что Unity предполагает макакокодинг я и так знал, меня так учить пытались. Но я думал, что в Unreal-то ситуация получше.
Подскажете, как тогда лучше к этому подобраться? Через голый OpenGL?
ответить
From Andrey V. Stolyarov Sun Nov 10 18:23:23 2024 UTC
Re: Re: Re: Яндекс жжёт
> Через голый OpenGL
Гыгыгыгыгы, я как-то привык считать, что "голый" тут только Xlib, а всё остальное — это уже слой на слое лежит и абстракцией погоняет.
ответить
From Artem (unverified) Sun Nov 10 23:00:02 2024 UTC
Re: Re: Re: Re: Яндекс жжёт
Не, OpenGL/Vulkan не "над" Xlib, а как бы "сбоку", им вообще не нужны иксы или что-то подобное, они работают напрямую с видеокартой, вернее, их спецификации реализуются прямо в драйверах видеокарты.
А если брать не иксы, а вяленого, то он уже поверх OpenGL построен, что сделало его так себе совместимым с Vulkan (сейчас вроде уже как-то прикрутили, потому что иначе пришлось бы выкидывать).
ответить
From hui (unverified) Sun Nov 10 19:43:25 2024 UTC
Re: Re: Re: Яндекс жжёт
К чему подобраться? Бери уже готовые свободные графические движки и используй.
ответить
From Дима (unverified) Sun Nov 10 20:03:35 2024 UTC
Re: Re: Re: Яндекс жжёт
В Unreal всё очень плохо. Не ходите туда. Там сделано всё чтобы от вас ускользало всякое понимание происходящего.
ответить
From Parthen Mon Nov 11 14:16:34 2024 UTC
Re: Re: Re: Re: Яндекс жжёт
Godot туда же?
ответить
From rkvg-es (unverified) Fri Nov 15 17:49:12 2024 UTC
Re: Re: Re: Re: Re: Яндекс жжёт
Любые IDE-based движки туда же. Потому что это псевдо-сокрытие сложности, которое гарантирует чудовищную неэффективность как конечного продукта, так и усилий по его дальнейшему поддержанию.
ответить
From Artem (unverified) Fri Nov 15 20:52:50 2024 UTC
Re: Яндекс жжёт
Если это игровой движок в смысле Game Engine, то он по определению IDE-based. Там же интегрировано всё - звук, сеть, модельки, спрайты, код, скрипты... А иначе это именно игровым движком никто не назовёт, ведь для создания игры (а не куска её) он будет непригоден. Например, ни PhysX, ни OGRE игровыми движками не являются именно потому, что реализуют только один аспект (физику и 3D), и не тащат с собой интегрированное всё-на-свете.
ответить
From Parthen (unverified) Fri Nov 15 22:34:05 2024 UTC
Re: Re: Яндекс жжёт
Спасибо всем за ответы.
По всей видимости, возьму raylib. Выглядит наиболее адекватно из всего представленного.
ответить
From rkvg-es (unverified) Mon Nov 18 05:15:42 2024 UTC
Re: Re: Яндекс жжёт
> Если это игровой движок в смысле Game Engine, то он по определению IDE-based.
Да Вы что, правда? Почему-то у id Software, которые-то и придумали идею движков как отдельных программных продуктов, никаких IDE к ним не прилагалось.
https://en.wikipedia.org/wiki/Id_Tech
ответить
From Artem (unverified) Mon Nov 18 19:26:12 2024 UTC
Re: Re: Re: Яндекс жжёт
Редактор уровней, отданный миру уже после того, как этот самый мир расковырял формат уровней и сделал несколько своих редакторов, это всё же не очень похоже на движок как отдельный продукт, изначально созданный для того, чтобы кому-то передать. Скорее на маркетинговый ход. Ну, знаете, точно так же, как движок Warcraft III: отдельно от этой игры он не используется и не выпускается, и, невзирая даже на наличие World Editor в комплекте с самого начала, свою игру на нём не сделать, только карты для исходной.
А вот Unreal Engine, первый из созданных с прицелом на сторонних игроделов, и одновременно первый, включающий всё, что нужно для создания полноценной игры, то есть, игровой движок именно как отдельная, самостоятельная сущность, не прибитая гвоздями к исходной игре и не сливающаяся с ней в одно целое, всегда шёл в комплекте с IDE.
ответить
From Artem (unverified) Sun Nov 10 23:17:42 2024 UTC
Re: Re: Re: Яндекс жжёт
OpenGL, кагбэ, немножко устарел. Ну как немножко, он уже лет семь как заменён на Vulkan, совместимости меж ними нет, а реализации OpenGL в новом драйвере может и не оказаться. Хотя, скорее всего, OpenGL так и будет работать, уже как слой поверх Vulkan.
Движков много, скорее всего, сможете найти подходящий. И не надо думать, что если те, кого видно, делают вот так, то только вот так и можно делать. Уже одно "обновлять движок до последней версии" из родительского комментария заставило сделать фейспалм: нормальные люди движок игры обновляют разве что при начале работы над новой игрой, потому что при обновлении движка вся уже выполненная работа гарантированно летит в помойку.
ответить
From Дима (unverified) Tue Nov 12 10:20:13 2024 UTC
Re: Re: Re: Re: Яндекс жжёт
> Движков много, скорее всего, сможете найти подходящий.
Оставлю ссылку на статью 10-ти летней давности. На мой взгляд в ней хорошо описаны плюсы и минусы использования сторонных движков. Один из описываемых минусов - это абсолютная зависимость от движка. Год назад "Unity программисты" на своей шкуре познали что это такое. Особенно обидно было тем кто сильно вложился временем в изучение этого движка.
DIY vs Re-Use: In Search of Balance
ответить
From rkvg-es (unverified) Thu Nov 14 20:32:35 2024 UTC
Re: Re: Re: Re: Re: Яндекс жжёт
> Год назад "Unity программисты" на своей шкуре познали что это такое. Особенно обидно было тем кто сильно вложился временем в изучение этого движка.
А что там произошло?
ответить
From Andrey V. Stolyarov Thu Nov 14 21:00:44 2024 UTC
Re: Яндекс жжёт
Полагаю, произошло вот это: https://en.wikipedia.org/wiki/Unity_(game_engine)#Runtime_fee_reception
NB: пять минут назад я этого ещё не знал. Ну это так, к вопросу о том, кого там и зачем на поисковиках забанили :-P
ответить
From rkvg-es (unverified) Fri Nov 15 17:46:27 2024 UTC
Re: Re: Яндекс жжёт
Так происходит-то регулярно всякое ведь. Вопрос был про то, что имел в виду конкретно этот автор конкретно этого сообщения. :)
ответить
From Parthen Thu Nov 14 22:16:19 2024 UTC
Re: Re: Re: Re: Re: Re: Яндекс жжёт
Разрабы Unity решили взымать плату за каждое скачивание игры, сделанной на их движке. В результате стало возможным, как в том меме, скачать игру пару миллионов раз и обанкротить к чертям геймдевелоперов.
Те, в свою очередь, прикола не оценили и свалили кто куда, вогнав очередной гвоздь в гроб помирающего движка.
Чтобы вы понимали масштаб:
Это выстрел даже не в ногу, а в голову. И такое ощущение, что спланированный.
ответить
From Andrey V. Stolyarov Thu Nov 14 22:37:38 2024 UTC
Re: Яндекс жжёт
> И такое ощущение, что спланированный.
Ну, лично я считаю, что одним проприетарщиком меньше — это всегда хорошо; но, оставив это за скобками — а спланированный-то зачем? В смысле, а что, самоубиться нельзя более прямым путём?
ответить
From Parthen Thu Nov 14 23:07:59 2024 UTC
Re: Re: Яндекс жжёт
Диверсия конкурентов. У Unreal Engine дела только в гору идут, и судя по всему, на корпоративном рынке он может и монополистом стать
ответить
From Artem (unverified) Fri Nov 15 13:31:09 2024 UTC
Re: Re: Яндекс жжёт
А может, это и не совсем суицид, вернее, такой суицид, чтобы кто надо улетел даже не на золотом, а на платиновом парашюте.
Поясню: есть игра Genshin Impact, она на Unity, установок миллионы, прибыли -- многыя миллиарды долларов, популярность не падает. И это не единственная такая игра, просто самая жирная, и почему бы напоследок не подоить её хозяев?
ответить
From Parthen (unverified) Fri Nov 15 22:33:01 2024 UTC
Re: Re: Re: Яндекс жжёт
>Genshin Impact
Играли, знаем. Но вот конкретно им на это по-барабану, они как китайцы работают на своем форке Unity-CN, который разрабатывает китайский филиал Unity. (Хотя код, по всей видимости, так около одинаковый, Genshin под протоном запускается без проблем)
Но вообще идея интересная, только это анимешное казино надо было доить хитрее, как Apple: разрешить проводить платежи только через свои сервера, а там комиссию, скажем, 30%.
ответить
From Artem (unverified) Sat Nov 16 11:54:15 2024 UTC
Re: Re: Re: Re: Яндекс жжёт
Да не похоже, что по барабану, их действия (например, открытие новых вакансий) напоминали то ли панику, то ли угрозу, но уж точно не здоровое безразличие.
Почитал новости, в этом сентябре условия опять поменяли, теперь снова просто подписка.
ответить
From Василий Ильич (unverified) Sat Nov 16 17:38:26 2024 UTC
Гемшин
> Genshin Impact
Одна из главных болей в моей семейной жизни в плане обслуживания ПК. Подруги мою жену подсадили на это гавно, а оно:
> Genshin под протоном запускается без проблем
А это хорошая новость. Может получится жену на Linux аккуратно пересадить, "офис" всё равно почти сдох из-за отвала лицензии.
Блин, с одной стороны Valve -- корпорация, навязала свою отвратительную DRM'ку, но разработка Proton'а полностью уничтожила потребность в форточках, по крайней мере мою. Смешанные чувства. :-)
ответить
From Andrey V. Stolyarov Sat Nov 16 18:11:15 2024 UTC
Re: Гемшин
Только водолазы платят за воздух. Только лохи платят за лицензии.
ответить
From Parthen (unverified) Sat Nov 16 18:48:09 2024 UTC
Re: Гемшин
>Подруги мою жену подсадили
Знакомо. Напишите сюда как начнет им донатить :)
>Занимает уже >100гб
И еще больше займет, как будет по сюжету локации открывать.
>Может получится жену на Linux
Если будете пробовать: скачиваете exe-шник, в Steam добавляете его как сторонную игру. В настройках, раздел Совместимость - "Принудительно использовать Proton".
Запускаете, устанавливаете, закрываете. Потом в директории ~/.steam/steam/steamapps/common/ ищите установленный Genshin, и снова добавляете уже установленную игру в Steam тем же способом.
>Valve -- корпорация
Valve это все же не корпорация, а частная компания. И судя по всему, единственная адекватная на весь мировой геймдев.
ответить
From Andrey V. Stolyarov Sat Nov 16 20:20:11 2024 UTC
Re: Re: Гемшин
> Valve это все же не корпорация, а частная компания.
Любая частная компания является корпорацией. Обратное в общем случае неверно, поскольку корпорации бывают и государственные, и некоммерческие, и вообще какие угодно.
ответить
From Artem (unverified) Sat Nov 16 21:14:52 2024 UTC
Re: Re: Гемшин
>> Steam
PortProton -- протон, которому не нужен Steam. Идеально, если самому Steam не нужен (как мне, который только в пролеченные от жадности синглплеерки играет).
ответить
From Василий Ильич (unverified) Sat Nov 16 22:18:50 2024 UTC
Re: Re: Гемшин
> Только водолазы платят за воздух. Только лохи платят за лицензии.
Запомню. :-)
> Знакомо. Напишите сюда как начнет им донатить :)
Уже почти 3 года. Утверждает, что донат только для "красивых костюмчеков" и на геймплей не влияет, поэтому даже не видит смысла платить. Да и играет, чтобы просто расслабиться.
>> Может получится жену на Linux
Провёл с ней беседу на эту тему. Увы, в других случаях компьютер используется для работы, а там сплошная проприетарщина:
В общем, пока "стратегическое отступление".
Из забавного: не смотря на то, что всё и так пиратское у них в офисе стояло, всё равно "пришёл сигнал извне" и "офис" с AutoCAD накрылись. И теперь перелезли на версии 2007 и 2005 годов, соответственно. Ну хех.
ответить
From Andrey V. Stolyarov Sat Nov 16 22:46:54 2024 UTC
Re: Re: Re: Гемшин
> "пришёл сигнал извне" и "офис" с AutoCAD накрылись
Закрытый код — гарантия наличия закладок.
> перелезли на версии
Some people never learn. Только эвтаназия.
ответить
From Ilya Sun Nov 17 20:22:28 2024 UTC
Re: Гемшин
Я этот ваш Proton в гробу видал, у меня его не то что скомпилить не получилось, а даже скачать! при вызове git clone --recurse-submodules гит просто отваливался, настолько тяжелые там зависимости, а ведь могли просто обычный архив отдавать. Боюсь даже представить сколько времени оно будет компилится. А готовых бинарных пакетов в репозиториях нет, а те что не в репозиториях, гвоздями прибиты к проприетарному Steam.
Так что мне ваш энтузиазм по поводу Valve непонятен, уж лучше я игры буду запускать на винде на изолированной машине, которая ни для чего кроме игр не используется, чем засорять свой вылизанный линукс всяким хламом который еще и половину игр тупо не запустит. Если и проприетарить, то по полной.
ответить
From Ilya Mon Nov 11 16:35:20 2024 UTC
Re: Re: Re: Яндекс жжёт
Голый можно, если хочется иметь понимание того, что происходит под капотом движков и как вообще графика работает (не помешает при этом знание операций над матрицами), хотя даже OpenGL много чего абстрагирует в сравнении с тем же Vulkan, но на Vulkan вы слишком много времени угрохаете - там что бы треугольник вывести на экран нужно примерно 1200 строк кода, он очень низкоуровневый, эдакий ассемблер мира графики.
А вот если цель написать готовую игру, я бы советовал вообще в сторону движков не смотреть, а взять библиотеку: raylib если игра 3D и SDL/SFML если игра 2D.
ответить
☞ From Vlada (unverified) Tue Nov 5 15:17:26 2024 UTC
Программисты и микроконтроллеры
Под постом "Типичного Программиста" о вашем проекте есть комментарий, судя по всему, одного из студентов, который слушал ваши лекции:
Ох... Посидели бы вы хоть на одной его лекции, вы бы прониклись...
"Императивный язык со сборкой мусора - это бред собачий"
"Программист может стать программистом микроконтроллеров, но обратное невозможно"
Можете подробнее объяснить второе утверждение про программистов и микроконтроллеры (если студент, конечно, не переврал ваши мысли)? Если на это есть уже ответ, то буду благодарна, если укажете, где именно.
ответить
From Andrey V. Stolyarov Tue Nov 5 19:47:15 2024 UTC
Re: Программисты и микроконтроллеры
Переврал, разумеется. Я говорил, что, во-первых, любой программист, если это, конечно, программист, может, если захочет, освоить программирование микроконтроллеров, а если не может — то это не программист (всякие питоняшки, например, ну и вообще все, кто не осилил работу с указателями, в том числе адресную арифметику). Но, с другой стороны, те, кто пишут прошивки для микроконтроллеров, в большинстве своём программистами не являются. Почему я это утверждаю? Ну, потому что весь код, написанный электронщиками, какой я видел в своей жизни — а я его видел довольно изрядно — написан так, что хочется развидеть.
UPD: Ваша простыня "аргументов" в пользу сборки мусора раскрыта не будет, и вынужден напомнить, что я вас сюда не звал. Таким, как вы, руки надо отрубать, и уж точно мне подобная публика на сайте не нужна.
ответить
From Vlada (unverified) Wed Nov 6 18:01:46 2024 UTC
Re: Re: Программисты и микроконтроллеры
Я ничего, кроме первого коммента, не писала.
ответить
From Andrey V. Stolyarov Thu Nov 7 10:43:03 2024 UTC
Re: Программисты и микроконтроллеры
Там в очереди на премод оказался довольно длинный коммент с рассказом о том, какая на самом деле классная штука сборка мусора. И ник почему-то ваш (Vlada). Уж не знаю, кому понадобилось так "развлекаться", учитывая, что ники тут вообще-то сугубо декоративные.
ответить
From hmm (unverified) Thu Nov 7 12:16:04 2024 UTC
Re: Re: Программисты и микроконтроллеры
У вас разве в тексте комментария (на сервере) не фиксируется IP? Я думал клоунов обнаружить легко
ответить
From Andrey V. Stolyarov Thu Nov 7 12:20:14 2024 UTC
Re: Программисты и микроконтроллеры
Фиксируется, конечно, но его не видно через веб-интерфейс, а лезть на сервер и смотреть мне в голову не пришло. К тому же радикально другой ip-адрес в действительности не значит примерно ничего: один и тот же человек может выйти в сеть через домашнюю линию, через мобильный интернет, через публичный wifi в каком-нибудь кафе, из университета, с работы, мало ли ещё откуда, не говоря уже про Tor и всякие VPNы.
ответить
From Parthen Thu Nov 7 16:59:44 2024 UTC
Re: Re: Программисты и микроконтроллеры
Это если как раз этот комментарий не написан троллем, чтобы всех запутать :)
ответить
☞ From Миша (unverified) Mon Nov 4 18:05:18 2024 UTC
Почему веб-макакам платят деньги?
Доброго дня и крепкого здоровья, Андрей Викторович!
Возник такой вопрос, если макакам платят 200к в среднем в россии, то кто за это платит. Какой реальный профит получают пользователи? КТО вообще сказал, что это нужно?
Почему бизнес не оптимизирует макак за ненадобностью?
Я лично ипользую вообще всего в интернете то YouTube, LeetCode, да хабр с вики. Приходится терпеть иногда веб-разработку и их поделия. Да, бывает что-то на озоне заказываю. Но мне откровенно насрать какой дизайн у сайта, какая там светомузыка и дискотека. Мне нужно, чтобы можно было отсортировать по цене, посмотреть отзывы. Всё. Это вполне можно сделать на сервере.
Сайты стиля 2000ых годов меня вполне устраивают. Ваш сайт вполне симпатичный, он выполняет свою работу. Наверняка, еще и не требует много памяти, быстрый и вообще классный и крутой.
Неужели людям так важен дизайн и веб-"красивость"? Когда это закончится?
ответить
From Andrey V. Stolyarov Mon Nov 4 19:23:14 2024 UTC
Re: Почему веб-макакам платят деньги?
Честно говоря, меня вообще феномен вебанутых несколько удивляет. По трудозатратам очередное "уЁб-приложение" сделать в разы геморойнее, чем обычную программу с обычным GUI, потом ещё поддерживать ЭТО, непрерывно заставлять хоть как-то работать весь тот долбанутый психозоопарк, которые вебанутые называют стеком — ну в общем это всё один большой нонсенс.
Могу только ответить на вопрос о "дизайне": нет, пользователям он не нужен, он нужен одним манагерам, чтобы всякие поделья впаривать другим манагерам, а пользователя никто, собственно говоря, не только что не спрашивает, но и вообще в расчёт не принимает.
ответить
From Parthen Mon Nov 4 20:12:49 2024 UTC
Re: Re: Почему веб-макакам платят деньги?
>программу с обычным GUI
Только вы пользователя не заставите ее поставить.
Мои родители, просидевшие большую часть жизни на Windows XP, вирусов боялись панически. Установка программы на компьютер было предметом дней уговоров и проверок.
И я подозреваю, они не одни такие. Если условный там озон закроет сайт и будет просить пользователей скачать программу на компьютер, он просто потеряет трафик.
И тут хрен знает что хуже - весь сегодняший веб в его "великолепии" или мир, в котором для доступа к каждому сервису надо качать с их сайта проприетарную, набитую зондами программульку, которую еще и под Wine/Proton запускать.
ответить
From Andrey V. Stolyarov Mon Nov 4 20:18:42 2024 UTC
Re: Re: Re: Почему веб-макакам платят деньги?
> Только вы пользователя не заставите ее поставить.
Именно. И придётся, как это и должно быть, довольствоваться выдачей запрошенной информации, а не захватом власти на компьютере пользователя.
На самом деле есть такая область, где сравнение веб-"приложений" с обычными гуёвыми программами таки следует проводить напрямую без учёта пользовательской паранойи: это решения для бизнеса. В смысле, вот есть какая-то контора, заказывающая софт для работы, и подрядчик этот софт зачем-то делает в вебанутом виде. Тут вопрос "поставит или не поставит" вообще не стоит, компьютеры принадлежат конторе, в конторе есть IT-отдел, непосредственных пользователей никто не спрашивает.
> И тут хрен знает что хуже
Я не знаю, что хуже, но могу точно сказать, что было бы лучше: уголовная ответственность (реальные сроки и в отдельных случаях конфискация имущества) за любое преднамеренное создание ситуации, при которой на компьютере пользователя выполняется любой код, которого пользователь на комп сам лично по своей инициативе и своей волей не ставил.
ответить
From Parthen Mon Nov 4 20:24:21 2024 UTC
Re: Re: Re: Re: Почему веб-макакам платят деньги?
>Уголовная отвественность
Хорошо бы, но движений к этому не видно
ответить
From Andrey V. Stolyarov Mon Nov 4 20:35:21 2024 UTC
Re: Почему веб-макакам платят деньги?
Оно само себя куда надо не двинет.
ответить
From Anonymous (unverified) Mon Nov 4 20:19:00 2024 UTC
Дизайн
Более того, для пользователей этот дизайн часто оказывается не просто ненужен, а еще и вреден. Хочешь просто интернет себе домой, заходишь на сайт провайдера и видишь "купи! интернет! а еще и тв! а еще и мобильную связь! а еще антивирус! а еще подписку на какое-нибудь говно!". И все это огромными кричащими буквами в красочных тонах, и конечно же все свистит и двигается в лучших традициях жабаскрипта. А чтобы найти нормальную pdf-ку, которая содержит полные условия тарифа и всякие подводные камни, надо в этот сайт целый час закапываться.
И я прям уверен, что орава дизайнеров прям сидит и не просто дизайн рисует, а рисует так, чтобы заставить человека купить не то, что ему нужно.
В общем, к сожалению, пока продажи и впаривание правят миром, как бы от этого ни было грустно :((( и все это отражается в том числе и на дизайне.
ответить
From Andrey V. Stolyarov Mon Nov 4 20:34:24 2024 UTC
Re: Дизайн
Между прочим, в действительности эти "кричалки" клиентов больше отпугивают, чем привлекают. Что нынче рекламой занимаются люди, ни хрена в рекламе не понимающие — это я ещё в окрестностях 2010 года, когда делал диссер по философии, прочитал в книжке какого-то рекламного корифея, сама книжка вышла за несколько лет до того.
ответить
From anon (unverified) Mon Nov 4 19:34:00 2024 UTC
Re: Почему веб-макакам платят деньги?
Так, чисто к слову.
Из всех людей на планете, некая их часть (неизвестно количество процента, но он точно выше 0ля), когда видит сайт Столярова, говорит: этот сайт говно.
Я спорю: он сделан полностью самим автором. Он умеет всё, что ему нужно уметь, для целей автора. Он очень быстрый.
Мне в ответ: он быстрый, потому что очень простое говно.
ответить
From Andrey V. Stolyarov Mon Nov 4 19:44:59 2024 UTC
Re: Почему веб-макакам платят деньги?
Эти долбанутые, кстати, любой сайт, где фон отличается от белого, говном называют на автомате.
Мнение вебанутых бабуинов очень важно для нас, оставайтесь на линии.
P.S. на досуге погуглите "буквенные наращения" и больше вот этакое вот "0ля" не употребляйте, не надо так позориться.
ответить
From Parthen Mon Nov 4 20:02:40 2024 UTC
Re: Re: Почему веб-макакам платят деньги?
Этот сайт, безусловно, великолепен с точки зрения функционала, но дизайн реально вырвиглазненький.
Например у LOR'а все и функционально, и красиво.
ответить
From Andrey V. Stolyarov Mon Nov 4 20:06:43 2024 UTC
Re: Почему веб-макакам платят деньги?
По мне так на LORе слишком много цвета. Хотя надо отдать ему должное — фон там почти такой же, как здесь.
ответить
From Anonymous (unverified) Mon Nov 4 20:29:48 2024 UTC
Re: Почему веб-макакам платят деньги?
А мне этот сайт нравится. Есть 3 цвета: фон серый, текст черный, ссылки синие, эти цвета близки друг к другу, чтение не напрягает глаза.
А вот infoviolence.org менее приятно будет, выглядит как-то слишком контрастно, белый фон, а за ним что-то такое кроваво-красное (не знаю, что это). Не в обиду автору, просто личное мнение.
ответить
From Andrey V. Stolyarov Mon Nov 4 20:37:33 2024 UTC
Re: Почему веб-макакам платят деньги?
"Дизайн" infoviolence был слеплен на коленке за полдня, при том что я не дизайнер ни разу, а на тот момент ещё не знал, как выглядит CSS, т.е. это был мой первый опыт общения с CSS'ом. Переделывать не буду :-P
А фон там вот такой:
Это, если что, помост (напольное покрытие) из стального листа, покрашенный красной краской. Возможно, палуба какого-нибудь судна или что-то вроде этого.
ответить
From Anon (unverified) Mon Nov 4 21:53:20 2024 UTC
Re: Re: Почему веб-макакам платят деньги?
Мне этот сайт сразу понравился, а вот infoviolence.org в самом начале вызывал отторжение, но постепенно оно ушло и сейчас он мне тоже нравится.
А вообще раз уж тут речь зашла про дизайн, то хотелось бы понять почему все говорят, что IceWM выглядит по умолчанию ужасно? Я вот поставил его 3 года назад, поменял фон на чёрный (там по умолчанию что-то другое было), поменял способ фокусировки окна, поставил трей наверх, больше ничего не менял и прекрасно с ним живу.
ответить
From Andrey V. Stolyarov Tue Nov 5 08:49:44 2024 UTC
Re: Re: Re: Почему веб-макакам платят деньги?
> почему все говорят, что IceWM выглядит по умолчанию ужасно?
Ну а почему полвека весь мир был уверен, что длинная худощавая (поджарая) девушка — это идеал женской красоты? Ну там куклы барби и вот это вот всё? И только в эпоху интернета владельцы сайтов "для взрослых" внезапно начали замечать, что вообще-то девочки пониже ростом и покруглее пользуются много большей популярностью у посетителей, а потом до кого-то допёрло, что вот этот вот "идеал" длинной поджарой манекенщицы навязали миру модельеры, где каждый первый — гомик, который если уж не может в платье мальчика нарядить, то подберёт девочку, максимально похожую на мальчика.
Видимо, всё-таки работает эффект стада.
ответить
From Artem (unverified) Tue Nov 5 09:43:03 2024 UTC
Re: Re: Re: Почему веб-макакам платят деньги?
>> почему все говорят, что IceWM выглядит по умолчанию ужасно?
Наверное, потому, что так и есть)) Только что запустил его посмотреть, точно помню, что не менял там ничего (ставил только чтобы сдать одну практику в универе), и вижу, что часы в трее верхней частью своих зелёных циферек заехали на границу между их чёрным фоном и серой панелью. Значки рядом неинформативны и выглядят странным цветастым пятном. В целом размер элементов не бьётся с обычной частотой их использования. И ШГ по умолчанию, опять же. Дефолтный i3 в разы приятнее выглядит, хотя разнообразие цветов у него куда как меньше, да и иконки он не любит (а может, именно поэтому).
IceWM, конечно, умеет быть очень приятным и ненапрягающим. Это вообще, на мой взгляд, главная примета хорошего дизайна -- ни один элемент не видно, пока он не понадобится, а когда понадобился, глаз и рука находят его рефлекторно и мгновенно. Но уж точно не с умолчальной темой. И да, я уверен, что именно у меня та самая тема по умолчанию, поскольку традиции Arch требуют собирать софт в точности таким, как задумал автор, без каких-либо своих патчей.
ответить
From Andrey V. Stolyarov Tue Nov 5 11:25:50 2024 UTC
Re: Re: Re: Re: Почему веб-макакам платят деньги?
> Наверное, потому, что так и есть))
Вкусовщинка
> главная примета хорошего дизайна
Хороший дизайн — это отсутствие дизайна. Когда дизайн присутствует — он всегда плохой.
ответить
From Аноним (unverified) Mon Nov 4 22:43:44 2024 UTC
Re: Re: Re: Почему веб-макакам платят деньги?
Нормальный дизайн, для граф. браузера. Но читать с w3m неудобно.
ответить
From Andrey V. Stolyarov Tue Nov 5 09:12:16 2024 UTC
Re: Почему веб-макакам платят деньги?
На w3m, подозреваю, удобнее был бы "плоский" формат комментариев, как на том же infoviolence.org. Тот, что здесь, опирается на "структурные отступы", а w3m все эти отступы благополучно игнорирует, что и понятно — знакоместа по горизонтали кончаются намного быстрее, чем пиксели.
Вообще интересно, возможно ли сделать сайт так, чтобы он был одинаково удобен и на w3m, и в графике.
ответить
From Artem (unverified) Tue Nov 5 06:21:16 2024 UTC
Re: Re: Почему веб-макакам платят деньги?
А ещё есть люди, и их немало, которые тему Luna из Windows XP находят приятной, удобной и красивой. Ту самую, дефолтную, синенькую, благословлённую всеми платными офтальмологическими клиниками планеты.
ответить
From Максим Клочков Mon Nov 4 20:04:30 2024 UTC
Re: Почему веб-макакам платят деньги?
Полагаю, что всё вселенское зло -- от мобильной разработки. Бизнес хочет притащить своё мобильное приложение в каждый смартфон, с целями а) увеличить охват, потому как компьютеры есть у студентов и профи, а смартфоны есть у всех и б) залезть пользователю в самые кишки путем отслеживания предпочтений, перемещений, отправки пуш-уведомлений по поводу и без повода, облегчения процесса взимания денег до одного прикладывания пальца, и т. п.
А где завелась мобильная разработка -- там заводится деление на фронт в телефоне и бэк на сервере, c rest api между ними. Сайт "для браузера" начинает играть вспомогательную роль, и, разумеется, отдельного api для сайта никто не пилит, все просто загружают на пользовательский компьютер тот же универсальный фреймворк, что присутствует в составе мобильного приложения.
Ну и всё -- добро пожаловать в обезьяний питомник.
Вывод: пользователям это всё не нужно. А тем, кто хочет залезть пользователям в карман -- очень нужно.
ответить
From Andrey V. Stolyarov Mon Nov 4 20:10:24 2024 UTC
Re: Почему веб-макакам платят деньги?
Сдаётся мне, что вебня (т.е. "сайты", полностью повязанные на исполнение в браузере) появилась изрядно раньше, чем мобильные приложения. Таковые вообще, если только я правильно понял происходящее, возникли из-за того, что в смартфонных браузерах не получается так развлекаться, как в браузерах десктопных.
Но в целом да, про то, кому что в действительности нужно — всё верно.
ответить
From Artem (unverified) Tue Nov 5 06:00:56 2024 UTC
Re: Re: Почему веб-макакам платят деньги?
Хайп по поводу мобильных аппликашек уже, в основном, схлынул. Мобильные браузеры всё перечисленное вами делать уже научились, а пользователи, вот сюрприз! совершенно не горят желанием что-то там устанавливать на свой телефон. Да и что-то не припомню онлайн-сервисов, кроме инстаграмма и тиктока, у которых вспомогательным был бы сайт. Обычно вспомогательно именно приложение, и так было всегда с того момента, как я появился в интернете, то есть, последние лет десять.
Без проблем и без вопросов люди разве что приложение банка да самый первый мессенджер ставят, а насчёт всех остальных в их глазах читается "а может, не надо?".
ответить
From Andrey V. Stolyarov Tue Nov 5 08:56:57 2024 UTC
Re: Почему веб-макакам платят деньги?
> в их глазах читается "а может, не надо?"
Разумеется, оно и понятно. Мобильные приложения — они же такие все из себя дружественные пользователю и совершенно без проблем работают, так и норовят раком встать (особенно когда обновятся в очередной раз) и заодно весь телефон раком поставить. А уж как весь телефон классно ставится раком при попытке что-то новое на него поставить — по идее это уже должен быть уровень мемов.
ответить
From Максим Клочков Tue Nov 5 12:40:32 2024 UTC
Re: Почему веб-макакам платят деньги?
> Да и что-то не припомню онлайн-сервисов, кроме инстаграмма и тиктока, у которых вспомогательным был бы сайт.
Яндекс-такси, вайлдберриз, вкусвилл - все ориентированы на мобильное приложение. Это я в окно посмотрел и перечислил, что увидел :)
> в их глазах читается "а может, не надо?".
Точно, именно это и читается. Но кто же туда смотрит...
ответить
From Andrey V. Stolyarov Thu Nov 14 21:08:49 2024 UTC
Re: Re: Почему веб-макакам платят деньги?
> Яндекс-такси, вайлдберриз, вкусвилл
Добавь ещё каршеринг и аренду великов и прочих электросамокатов.
У меня изначально даже мысли не было всем этим пользоваться.
ответить
From Ilya Mon Nov 4 22:36:45 2024 UTC
Re: Почему веб-макакам платят деньги?
Полагаю по той же причине, по которой крупные игровые конторы делают свои игры "инклюзивными" по последнему слову левацкой повесточки. Продукты потом набирают негативные отзывы, продажи падают, но долбанутых манагеров увольнять никто не торопится.
Мне кажется здесь работает эффект толпы, все остальные так делают и мы будем. Пользователям то может и плевать на дизайн, но манагер этого не знает, он думает что если сайт не будет свистеть и пердеть, юзер тут же скривит нос и пойдет к конкуренту, у которого сайт и свистит и пердит и светится. А поступая как все, получаешь ощущение безопасности, ложное, но от того не менее приятное. Но опять же, это лишь мое предположение.
ответить
From Artem (unverified) Tue Nov 5 09:18:35 2024 UTC
Re: Re: Почему веб-макакам платят деньги?
А вот с играми всё совсем не так просто. Владельцы игровых студий не настолько тупые, как иногда кажется, и вполне умеют считать деньги. Если приглядеться к их источникам дохода, то внезапно выясняется, что у крупных, да и многих совсем не крупных студий огромный доход, быть может, даже больше, чем продажи, приносят вливания от крупных инвесторов, таких, как Black Rock. Незнакомое название? А ведь это настоящее гигачудовище финансового мира, секретный босс, евпочя. И эта контора -- левацкая до кости мозгов. Поэтому провал игры мало что значит, разработка всё равно окупилась за счёт продвижения правильного нарратива, который с удовольствием проспонсируют те, кто играет в игры отнюдь не компьютерные.
ответить
From Andrey V. Stolyarov Wed Nov 6 12:05:24 2024 UTC
Re: Почему веб-макакам платят деньги?
Кстати, насколько я понимаю, Black Rock двигает левую повестку, поскольку это удачный инструмент для их целей, но в действительности те, кто там всем заправляют, ни фига не леваки, даже наоборот. Их цель — физическое уничтожение остатков белой расы.
ответить
From Artem (unverified) Wed Nov 6 13:34:09 2024 UTC
Re: Re: Почему веб-макакам платят деньги?
У меня всё просто: двигаешь левачество => левак. А что там внутри черепной коробки творится, это дело двадцатое. Может, там вообще не мозг, а сплошная кость, но мне-то разницы никакой не будет ни в каком случае.
Если данная цель преследуется в том числе их основателем и нынешним официальным руководством, то они крайне непоследовательны и избирательны, ведь начать уничтожение белых с себя упорно не хотят.
ответить
From Andrey V. Stolyarov Wed Nov 6 13:46:07 2024 UTC
Re: Почему веб-макакам платят деньги?
С себя? Так там белые только для декорации, в смысле для PRа. Насколько я понимаю, заправляет всем отборный черняк на нефтяные деньги Катара.
ответить
From rkvg-es (unverified) Sun Nov 10 19:24:39 2024 UTC
Re: Re: Почему веб-макакам платят деньги?
> Их цель — физическое уничтожение остатков белой расы.
А ради чего, чтобы что?
ответить
From Andrey V. Stolyarov Sun Nov 10 19:30:06 2024 UTC
Re: Почему веб-макакам платят деньги?
Вопрос "зачем" не всегда имеет ответ, зато всегда имеет ответ вопрос "почему". И на этот вопрос ответ довольно очевиден.
ответить
From Ilya Mon Nov 11 16:11:06 2024 UTC
Re: Re: Re: Почему веб-макакам платят деньги?
Какая бы ни была их цель, имхо идея оказалась провальной, повестку пипл уже не хавает (достаточно посмотреть на результаты выборов в США), и никаким количеством трансов в играх это не исправить, вангую что в ближайшее время появится новая идеология с новой реторикой, ибо нынешняя уже всех изрядно подза***ла.
Гораздо интереснее ситуация сейчас происходит в Японии, там недавно Visa & Mastercard (акциями которых владеет Black Rock) объявили ультиматум студиям "или вы конкретно так цензурите свои аниме и манги, или больше никаких платежей через нас".
ответить
From Anonymous (unverified) Tue Nov 5 05:45:35 2024 UTC
Re: Почему веб-макакам платят деньги?
Есть сайт Сбербанк Онлайн. Думаю им каждый второй житель России вынужден пользоваться, если не больше.
Так вот, недавно они поменяли дизайн. До этого был баланс карты на всех страницах сбоку, заходишь и сразу видно. Сейчас нужно закапываться в дебри суб-страниц, причём если зайти в историю операций и выбрать операции по карте, то текущий баланс нигде не отображается.
Но это ладно, проблема в том, что сайт тормознутый, каждая вкладка открывается минуты по две, переход между страницами где-то по полминуты. Так было и так и осталось. То есть какой-то там дизайн поменяли, а проблему с тормознутостью сайта вообще не подумали решить. Только сделали интерфейс ещё менее удобным чем был.
ответить
From Andrey V. Stolyarov Tue Nov 5 08:53:22 2024 UTC
Re: Re: Почему веб-макакам платят деньги?
Сбер — это вообще отдельное происшествие, они ведь аж целую школу "программирования" открыли, и, судя по тому, что я видел, берут потом на работу людей, патологически неспособных написать код, поддающийся поддержке. Берут ли там ещё и нормальных людей — не знаю, не видел.
ответить
From Parthen Tue Nov 5 10:22:43 2024 UTC
Re: Re: Re: Почему веб-макакам платят деньги?
Если вы про 21-ую, то я в нее как раз записался :)
Подкупили тем, что учат Си под *nix (правда, первым языком, гыгыгы). У них, конечно, в основном направления макак, но gamedev тоже есть.
Посмотрим как там нормальному человеку учится.
ответить
From Andrey V. Stolyarov Tue Nov 5 11:27:02 2024 UTC
Re: Re: Re: Re: Почему веб-макакам платят деньги?
> я в нее как раз записался
Нахера? Те, кто там "учат", ни бельмеса не понимают ни в программировании, ни в обучении таковому.
ответить
From Parthen Tue Nov 5 11:43:37 2024 UTC
Re: Re: Re: Re: Re: Почему веб-макакам платят деньги?
Только там в принципе нет ни учителей, ни уроков.
"Ученикам" просто дают задания, которые ты хоть как должен выполнить. Задают вопросы друг-другу и гуглу, никакого другого способа "обучения" не предусмотрено.
Т.е. это не школа в принципе, а такой себе программисткий клуб.
В моем ненышнем "ВУЗе" программировать умееют человек 5 из 30 (на третьем курсе-то). Хочется, эээ, с программистами связей навести.
ответить
From Andrey V. Stolyarov Tue Nov 5 13:18:29 2024 UTC
Re: Почему веб-макакам платят деньги?
Мне один такой "член клуба" гордо показывал арифметические выражения на пять строчек с десятью сайд-эффектами и реально вознамерился меня убедить, что это вот так и надо программировать.
А пять из тридцати — это ещё не так плохо.
ответить
From Alexander (unverified) Tue Nov 5 13:53:55 2024 UTC
Re: Re: Re: Re: Re: Re: Почему веб-макакам платят деньги?
Я же правильно понимаю, что в этой школе единственый метод обучения - "peer-to-peer", как они это называют. То есть недоучки учат недоучек. В этом есть какой-то смысл?
ответить
From Artem (unverified) Tue Nov 5 13:59:32 2024 UTC
Re: Re: Re: Re: Re: Re: Почему веб-макакам платят деньги?
>> "Ученикам" просто дают задания, которые ты хоть как должен выполнить. Задают вопросы друг-другу и гуглу
Ну то есть это то, что де-факто творится у нас на потоке, только возведённое в норму бытия. Потому что у нас на лекции никто почти не ходит (однажды пришло два человека из полста...), а на практиках преподам только сдают выполненные работы. При этом те люди, которые ходят на лекции, задают вопросы преподам, которые раньше и лучше всех сдают эти самые работы и которые хотя бы приблизительно понимают, что в их коде происходит, это одни и те же люди.
А клубы такого рода, подозреваю, надо искать в несколько менее ярко освещённых местах.
ответить
From Миша, автор исходного вопроса (unverified) Wed Nov 6 06:22:23 2024 UTC
Re: Re: Почему веб-макакам платят деньги?
Сбер держал в голове когда задавал исходный вопрос. Мне нравлся их интерфейс 5 лет назад, с тех пор он стал гораздо тяжелее и мой старенький ноут с файрфоксом перестал его вообще открывать. У меня один мат от этого.
При этом, готов поспорить, с точки зрения безопасности, это теперь гораздо большая дристня чем даже была
ответить
From Artem (unverified) Tue Nov 5 06:14:46 2024 UTC
Re: Почему веб-макакам платят деньги?
>> Почему бизнес не оптимизирует макак за ненадобностью?
А это уж смотря что вы имеете в виду под оптимизацией. 200k в среднем это вы хватили, это выше среднего.
Статьи по теме найма на Хабре всё чаще сводятся к одному: время дефицита джунов в айтишке закончилось, теперь их стабильно избыток, и зарплаты их всё ниже и ниже. Особенно впечатляет пока нереализованный, но уже разрекламированный проект галеры от HH и Яндекс.Практикума с зарплатой в 30k, при условии, что оплачен и пройден курс стоимостью больше 100k. И они уверены в успехе, думаю, не без причин. И это всё именно про веб, в других областях про избыток джунов особо не слышно (на самом деле про другие области не слышно вообще почти ничего, я не в курсе, какая там ситуация, если инфа и есть, то её невозможно отыскать среди нескончаемого шума от вебщиков, а сайты с вакансиями источником информации не являются, к сожалению).
Кстати, в последнее время я пересчитываю цены в рублях, как если бы доллар всё ещё был по 30. Некоторые вещи прям очень неожиданно меняются.
ответить
☞ From Artem (unverified) Mon Nov 4 10:41:43 2024 UTC
Не ваше?
Гуляет по интернету один скриншот с текстом, прочтение которого рождает во мне чувство дежа вю. Не вашего ли оно авторства, Андрей Викторович? Ниже привожу распознанный нейронкой текст (орфографию не сверял):
Теперь содержательно. Я не знаю, как вам позволили ТАКОЕ дотащить аж до защиты -- но у вас на стороне клиента целый арснал: React, Redux, ещё два пункта. Между тем, задача у вас стоит не просто простая, я бы сказал, что она скорее _примитивна_ на уровне трёх копеек. Здесь вообще не может быть ничем оправдано какое бы то ни было исполнение чего бы то ни было на стороне клиента, потому что задача МОЖЕТ БЫТЬ решена полностью на стороне сервера, присылая в браузер только статический HTML с формами ввода. А если она МОЖЕТ быть так решена, то она ДОЛЖНА БЫТЬ так решена. За такое решение, как у вас, не то что диплом давать -- за это к стенке надо ставить, или как минимум в тюрьму сажать, и я не шучу. Применение исполнения на стороне клиента, раз уж вам так нравятся ссылки на юридические документы, подпадает сразу под обе "компьютерные" статьи Уголовного кодекса -- 273 (распространение вредоносного ПО) и 274 (неправомерный доступ к компьютерной системе), но самое главное -- "разработчики", подобные вам, планомерно превращают Интернет в кучу дерьма. А в целом это как раз то самое явление, которое в последние годы получило известность под названием "веб-макакинг". Корни этого явления очевидны: "современной" (в очень жирных кавычках) веб-разработкой занимаются недоучки, у которых не хватает мозгов на более серьёзные области программирования. До сей поры я надеялся, что у нас на факультете таких недоучек не делают, но, видимо, ошибался. Подобные "работы" позорят факультет. Вопрос, куда смотрели ваши научные руководители, остаётся для меня открытым; если интересно моё мнение, эту работу не следует допускать до защиты, всему должен быть предел.
Если что, там, откуда я это взял, оно приводилось как пример "синдрома вахтёра" у преподавателя.
ответить
From Andrey V. Stolyarov Mon Nov 4 13:35:52 2024 UTC
Re: Не ваше?
Да, это мой текст, и вы далеко не первый, кто его нашёл и у кого возникло вот это самое "дежавю". А всех, кто считает, что я тут в чём-то неправ, следует уничтожать как тараканов, саранчу и прочих вредителей.
ответить
From Anonymous (unverified) Mon Nov 4 14:19:53 2024 UTC
Re: Re: Не ваше?
У саранчи есть своя роль в экосистеме, а нашествия бывают довольно редко, обычно они просто мирно прыгают себе в траве. Так что я не согласен, считаю, что насекомых уничтожать не надо.
ответить
From Andrey V. Stolyarov Mon Nov 4 14:38:40 2024 UTC
Re: Не ваше?
Пожалуй, соглашусь. Насекомых уничтожать не надо. Вебщиков — надо.
ответить
From Максим Клочков Mon Nov 4 19:17:40 2024 UTC
Re: Не ваше?
Этот несчастный студентик виноват лишь в том, что наступил на классическую проблему "золотого молотка" -- он решил задачу так, как его научили. А научили его так потому, что "сейчас везде так пишут".
Чтобы сопротивляться опасным тенденциям, надо уже быть авторитетным специалистом. Каковых мало, и большинство совершенно не намерены ни заниматься просветительством, ни преподавать в вузах, у них и так заказчики в очереди стоят. Замкнутый круг, тлен и безысходность.
Автору сайта в данной ситуации -- мега-респект за то, что взвалил на себя функцию голоса разума, и терпеливо повторяет одни и те же очевидные вещи, здесь, в книгах и в роликах.
ответить
From Andrey V. Stolyarov Mon Nov 4 19:27:32 2024 UTC
Re: Не ваше?
Ну, на факультете его этому не учили, это я точно могу сказать. Не знаю как сейчас, но тогда веб-"программирование" внутрь проникнуть ещё не успело. Т.е. он этой херни где-то на стороне нахватался и исхитрился как-то убедить своего научного руководителя, что сие типа самые современные технологии и всё такое, а вовсе никакое не говно.
ответить
From Максим Клочков Mon Nov 4 19:38:34 2024 UTC
Re: Не ваше?
Значит, он сам где-то подсмотрел. Справедливый вопрос - куда научные руководители смотрели. Впрочем, готов предположить -- решали свои проблемы, типа более важные.
ответить
From Andrey V. Stolyarov Mon Nov 4 20:11:21 2024 UTC
Re: Re: Не ваше?
> решали свои проблемы, типа более важные.
Вот это меня тогда и возмутило больше всего.
ответить
From Anonymous (unverified) Mon Nov 4 17:57:57 2024 UTC
Re: Не ваше?
Интересно было бы почитать начало обсуждения, ответом на которое являлся этот текст.
ответить
From Andrey V. Stolyarov Mon Nov 4 19:25:46 2024 UTC
Re: Не ваше?
Это было лет десять назад, вряд ли я смогу отыскать хвосты. Помню только, что сама задача, якобы "решённая" этим великовозрастным дебилом, была уровня записной книжки.
ответить
☞ From Edward Byte (unverified) Sat Nov 2 21:08:25 2024 UTC
Пара мыслей о важности CLI
Приветствую лично Андрея Викторовича и всех читающих.
Так уж вышло, что я учусь на сетевого инженера и системного администратора, что у нас называют новомодным словом DevOps, которое ничего кроме смеха не вызывает: стране нужны технологи, а вузы выпускают дураков(зачёркнуто) менеджеров, бегающих со своими абстрактными стандартами управления качеством, так же и с нашими баранами, то есть DevOps'ами. Но не суть, суть же в том, что мы работаем с сетевым оборудованием Cisco, которое конфигурируется через подключённый по последовательному порту компьютер с эмулятором терминала. Работая с ним, мне не раз доводилось наблюдать непринятие некоторыми студентами интерфейсов командной строки как способа взаимодействия человека и компьютера.
К сожалению, сейчас такие времена, когда сложно найти специалиста, осознающего все преимущества CLI над GUI. Главным из которых я считаю простоту организации межпроцессного взаимодействия и автоматизации: так в *nix для первого существуют конвейеры, для второго - bash-скрипты. В общем же случае для мейнстримного GUI не существует тривиального решения перечисленных задач, вероятно для их решения потребуется применение компьютерного зрения, что практически ставит крест на целесообразности данной авантюры. Следовательно, использовать программы с графическим интерфейсом в рабочих процессах - значит отказываться от их автоматизации.
Напоследок, хочу выразить вам свою благодарность за ваш замечательный трёхтомник, изменивший взгляд на мою профессию и в каком-то смысле на мир. Теперь при каждом удобном случае рекомендую ваши труды своим приятелям.
ответить
From Andrey V. Stolyarov Sat Nov 2 22:00:39 2024 UTC
Re: Пара мыслей о важности CLI
Да уж, цЫску только через гуй конфигурять, ага. Особенно когда что-нибудь замороченное вроде OSPF или тем паче BGP.
ответить
From Максим Клочков Sun Nov 3 15:45:56 2024 UTC
Re: Пара мыслей о важности CLI
У цыски, кстати, отвратительный интерфейс командной строки. Структура настроек у нее - декларативная иерархическая (можно условно считать, что в некотором роде похожа на дерево объектов), а командная строка - извращенный способ редактирования "в реальном времени" этой самой иерархии.
Остальные вендоры бездумно скопировали этот cli, признав его "индустриальным стандартом де-факто". Но хотя бы основные управляющие комбинации клавиш в стиле emacs/readline не сломали, и то хорошо :)
Не прогнулся под мейнстрим только Juniper, который изнутри похож на bsd с zebra/quagga/bird
ответить
From Andrey V. Stolyarov Sun Nov 3 15:57:24 2024 UTC
Re: Пара мыслей о важности CLI
Ну, это всё-таки конфигурялка, а не настоящий shell.
Вообще странно, я как раз в своё время от цысковской командной строки пищал от восторга. Ну вот реально мне их подход понравился. Конечно, я в те времена был на четверть века моложе (1997--1999 гг.), но вроде с юниксовыми шеллами тогда уже прекрасно управлялся, и с винды как раз в 1997 (скорее в начале 1998) окончательно слез, т.е. ну не совсем я уже был новичок в компьютерах.
ответить
From Максим Клочков Sun Nov 3 16:49:56 2024 UTC
Re: Пара мыслей о важности CLI
Командная строка на первый взгляд ничего так, удобная. Работают стрелочки, всякие Ctrl-A/E, табуляция, знак вопроса. Есть вложенность режимов (обычный, привилегированный, конфигурационный глобальный, конфигурационный для каждой отдельной сущности, идею явно подсмотрели у DEC RSX/VMS).
На некоторых платформах есть встроенный TCL (правда, лет 10-15 назад начали заменять питончиком).
Но минусы - как у любой закрытой системы, где попытались пойти "своим путём". Нелогичностей и уродств в этом CLI - масса, подключиться сторонним скриптом - нереально без диких извращений, анализировать диагностические сообщения не "глазами", а автоматически - тоже крайне сложно, и т. п.
Если стоит задача конфигурировать не одну цыску, а несколько, причем согласованным образом - все минусы тут же вылезают наружу.
ответить
From Artem (unverified) Sun Nov 3 08:29:04 2024 UTC
Re: Пара мыслей о важности CLI
> для мейнстримного GUI не существует тривиального решения перечисленных задач
Вот-вот! Только представьте, сколько рабочих мест будет создано, когда четырежды клятый буржуинский CLI наконец-то почиёт в бозе! *здесь был негодный к столу анекдот про двух ковбоев и подъём ВВП на двести долларов*
ответить
From Максим Клочков Sun Nov 3 16:36:43 2024 UTC
Re: Пара мыслей о важности CLI
> В общем же случае для мейнстримного GUI не существует тривиального решения перечисленных задач... использовать программы с графическим интерфейсом в рабочих процессах - значит отказываться от их автоматизации.
Индустрия осознала эту проблему. И даже нашлось решение. Но -- лучше бы это решение не находилось. Поясню.
Графическое приложение 15-летней давности обычно представляло собой программу под винду или же линукс, статически или динамически собранную с графической библиотекой, где был главный цикл, события, вот это всё (см. трехтомник, главу про FLTK, принципы везде примерно одинаковые). Такое приложение работало в меру криво (например, было чувствительно к "зависаниям" в обработчике событий), но подход был прост, понятен и, при использовании нормальных библиотек, не сильно требователен к ресурсам.
Современное графическое приложение как правило состоит из "фронтенда" на джаваскрипте и "бэкенда" на go/python/php, изредка java+spring, еще реже на Си++. А между ними - REST API. Т. е. запросы и ответы, отправляемые по протоколам http/https, но не с целью передачи текстов/изображений, а с целью отправки произвольных сообщений.
Идея на первый взгляд здравая - бэкенд делает работу, а с пользователем взаимодействует отдельная сущность. Которая может быть графическим интерфейсом, командной строкой, скрптом для автоматизации, или же вообще другой системой. Если API при этом открыт и документирован -- всё вообще отлично.
Но для реализации почему-то индустрия приняла наименее эффективный и наиболее кривой способ, предполагающий:
Кстати, из-за третьего пункта выпускники разных курсов вида "войти в айти за полгода" могут не опасаться за своё будущее -- им всегда найдётся вот такая обезьянья работа.
Дальше -- больше. Джаваскриптеры любят одни наборы библиотек, бэкендеры -- другие. Увязать всё это в рамках одной операционки не получается. Добро пожаловать в "увлекательный" мир контейнеров и докера. Но докер одни проблемы решает, другие -- создает. Например, контейнеры должны стартовать в определенной последовательности и так, чтобы между ними была сетевая связность. А также контейнеры любят падать, их надо перезапускать, и уведомлять админов о проблемах. Добро пожаловать в кубер и многочисленные его клоны и расширения (openshift и пр.) Т. е. на пустом месте создана целая поляна для приложения труда многочисленных ит-специалистов, которых надо обучать специфическим навыкам.
Вы пишете, что учитесь на девопса. Возможно, вы либо уже осознали, либо скоро осознаете, что вам всю профессиональную жизнь придётся заниматься именно этим (строить сложные среды, цель основная цель существования которых -- чтобы программистам надо было меньше думать, в идеале -- не думать вообще).
Обидно во всём этом то, что в индустрии вообще "любят" приживаться кривые решения. Почему -- хрен знает, объяснить это только идиотизмом конкретных людей не получается. Тема достойна отдельного исследования.
P.S. Сорри за длинный поток сознания -- учусь автоматически отправлять данные счетчиков на сайт Мосэнергосбыта, проклял уже всё. Мало того, что там кривой и плохо спроектированный REST API, оно ещё и сообщения об ошибках выдаёт по-русски, и в разных кодировках в зависимости от ситуации. Читайте труды мэтров, там всё давно написано, и не будьте как Мосэнергосбыт.
ответить
From Artem (unverified) Sun Nov 3 18:36:47 2024 UTC
Re: Re: Пара мыслей о важности CLI
Поправка, чтобы не плодить неверное понимание - Rest API это просто набор рекомендаций для создания API, в котором нет требования слать что-то по какому-то конкретному протоколу или использовать шифрование в любой форме. Http соответствовал этим рекомендациям с рождения, у них и автор-то один, может, поэтому тянут его как транспорт по умолчанию (или потому, что жабаскриптеры иначе не умеют...)
ответить
From Anonymous (unverified) Mon Nov 4 18:06:54 2024 UTC
Re: Пара мыслей о важности CLI
Ну еще бы в Мосэнергосбыте работало бы что-то нормально. В ЖКХ наверное программистам тыщ по 20 в месяц платят, кто адекватный на такое согласится.
ответить
From Andrey V. Stolyarov Mon Nov 4 19:17:54 2024 UTC
Re: Re: Пара мыслей о важности CLI
Там обычно делают хитрее — заключают договор с коммерческим подрядчиком, а тот уже программистам платит сколько положено. За двадцать тыщ ни один человек, способный хотя бы найти максимум в массиве, работать не станет.
ответить
From Максим Клочков Mon Nov 4 20:12:29 2024 UTC
Re: ара мыслей о важности CLI
Вот не надо -- Мосэнергосбыт это не совсем ЖКХ, это порождение реформ Чубайса, которые при всех своих косяках таки сделали энергетику в России коммерчески выгодной.
В тарифах на электричество есть специальная составляющая "на инновации", типа умных счетчиков, автоматической передачи показаний, вот этого всего. И эта составляющая аккуратно пересчитывается каждый год, с целью компенсации или даже опережения инфляции.
Поэтому деньги у энергетиков -- есть. И в генерации, и в транспортировке, и в сбыте. А кривые руки -- в силу исторических причин.
ответить
From API (unverified) Mon Nov 4 12:26:54 2024 UTC
Re: Пара мыслей о важности CLI
Для автоматизации всё же важнее не UI, каким бы он ни был, а API.
ответить
From Andrey V. Stolyarov Mon Nov 4 13:42:03 2024 UTC
Re: Re: Пара мыслей о важности CLI
Не понимаешь, да? А чего на мой сайт припёрся?
ответить
☞ From Миша (unverified) Sat Nov 2 12:57:18 2024 UTC
Жаба:может ли быть сопоставимой по скорости с крестами?
Добрый день, Андрей Викторович!
Читал, что вы думаете об императивных языках со сборкой мусора: они далеки от машины фон неймана, но тогда нет смысла делать их императивными.
Вопрос: если каждое аллоцирование/деаллоцирование это некий системный вызов и переключение контекстов (накладные расходы), могут ли программы на богомерской Жабе быть быстрее крестов?
Всегда считал, что жаба очень медленная, но недавно коллеги, разбирающиеся в жабах, показали убедительные тесты производительности, что заставило меня задуматься и обратиться за Вашим компетентным мнением.
ответить
From Andrey V. Stolyarov Sat Nov 2 17:33:54 2024 UTC
Re: Жаба:может ли быть сопоставимой по скорости с крестами?
Во-первых, разумеется, каждое аллоцирование никак не может быть системным вызовом, если бы оно им было, программы работали бы со скоростью варёных улиток, вдобавок ударенных пыльным мешком по башке.
А во-вторых, сравнение языков на "скорость" — это просто изначально бред сивой кобылы. Когда за эти ваши "кресты", в смысле C++, хватается очередной ньюфаг, которому рассказали, как надо дёргать методы от STLных контейнеров, но забыли объяснить, чем передача по константной ссылке отличается от передачи по значению (а это нынче явление весьма распространённое), то полученное на выходе изделие не перетормозит не только жаба, но и вообще никто.
Я вам больше скажу, даже если человеку рассказали, что такое указатели и как с ними работать, запинали писать на чистом Си, потом долгими побоями по морде чайником отучили присваивать компаунды и передавать их по значению, то даже и такой деятель запросто проморгает где-нибудь квадратичность алгоритма, работающего при отладке с массивами из нескольких десятков элементов, а в боевой эксплуатации нарвавшегося на пару миллионов. Либо, напротив, будет гордо всем говорить, что квадратичные алгоритмы никуда не годятся, и применять qsort из "стандартной" библиотеки для сортировки массивов из пяти int'ов по возрастанию — и по закону вселенского западла на отладке таких массивчиков будет несколько десятков, а в реальной обстановке внезапно окажется мильончик-другой. И, опять же, "никакой кривой козе нас не перетормозить", чо.
Я это к тому, что тормоза — это никоим образом не свойство языка программирования, это всегда дело рук человеческих.
Но, конечно, любую (сколь угодно эффективно и грамотно написанную) программу на джаве заведомо можно обогнать с помощью нормальных языков. Даже в несколько раз. Т.е. формально сложность останется той же, поскольку все эти "О большое" работают с точностью до линейного коэффициента, но да, коэффициентик-то этот можно раза в два-три-четыре подпилить. Потери там основные не на аллокации памяти, а, во-первых, на интепретации байт-кода: ну вот хоть ты в узел завяжись, а не может программный интерпретатор команд не тормозить в сравнении с железным процессором, исполняющим свой нативный код, ещё и оптимизатором подпиленный; во-вторых, на всяких мелочах вроде "все переменные — ссылки, все методы — виртуальные, без объекта даже кошки не родятся" и вот это вот всё. Вроде и мелочи, но свою долю тормозов вносят. Но чтобы это реально с заметным эффектом обогнать, нужен программист, который понимает, что делает, и чтобы ему не было лень не просто переписать программу заново на Си или в крайнем случае на C++ без STL, а чтобы он ещё и сделал это максимально грамотно.
А теперь барабанная дробь и самое главное: всё это абсолютно похуй. На джаве и прочих говноязыках писать категорически недопустимо вне всякой зависимости от эффективности, хоть по памяти, хоть по времени исполнения. Попросту говоря: чего вы мне рассказываете про эффективность, когда я про неё не спрашивал?!
Подробности см. в третьем томе, сначала главу 9.3 (особенно параграф 9.3.3), а потом часть 12 — желательно вообще-то всю, за исключением главы 12.4, которая не имеет отношения к делу; но можно ограничиться только главой 12.5, и вот эту уже точно стоит осилить всю целиком. Ну а если совсем кратко, то просто осознайте: если вам в ответ на совершенно справедливое утверждение "джава говно" начинают рассказывать какие-то там сказки про эффективность, всех этих сказочников следует немедленно затыкать фразой "я про эффективность вас не спрашивал". Даже если принять без всяких споров тезис "джава быстрая", то из этого не следует, что она не говно: из этого следует только, что она быстрое говно.
ответить
From Artem (unverified) Sat Nov 2 17:46:36 2024 UTC
Re: Re: Жаба:может ли быть сопоставимой по скорости с крестами?
> интепретации байт-кода
По правде сказать, он не всегда интерпретируется: часто в комплекте идёт компилятор байт-кода в машинный. Солидная доля дополнительной эффективности происходит из того, что компиляция происходит под конкретный процессор с учётом его наборов инструкций, про что в подобных тестах тактично умалчивают, ведь если компилятор крестов запустить с соответствующими опциями, никакого превосходства для одинаково написанных программ наблюдаться не будет, а если ещё и программист напишет код с учётом возможных аппаратных оптимизаций, тезис "джава быстрая" придётся замести обратно под ковёр независимо от аудитории.
ответить
From Andrey V. Stolyarov Sat Nov 2 18:35:36 2024 UTC
Re: Жаба:может ли быть сопоставимой по скорости с крестами?
Ну, там обычно JIT, но JIT штука довольно своеобразная — во-первых, она довольно жирная (JVM и прочие жабовиртуалки и так от ожирения того гляди преставятся), во-вторых, сама по себе JIT-компиляция отрабатывает ничуть не мгновенно.
Ну, э... понимаете, какая штука, я не слышал, чтобы из джавы получали нативные бинарники, содержащие машинный код. Если бы компилировать байт-код в нативный код было так просто, я думаю, кто-нибудь бы это таки начал делать. Впрочем, с тем знатным количеством рефлексии, которая в джаву намертво ввинчена гвоздями, фигвам вам, а не нативный код.
ответить
From far Thu Nov 7 18:43:09 2024 UTC
Re: Re: Жаба:может ли быть сопоставимой по скорости с крестами?
https://www.graalvm.org/latest/reference-manual/native-image/
ответить
From Andrey V. Stolyarov Thu Nov 7 19:00:45 2024 UTC
Re: Жаба:может ли быть сопоставимой по скорости с крестами?
Ага, и чо?
Этак-то и Лисп можно "откомпилировать" (повторяться не буду, см. в третьем томе параграф 11.1.2).
А особенно доставляет на той же странице вот этот вот пункт:
А-ааааааааа 8-()
Впрочем, мысль из моего предыдущего коммента нуждается в коррекции: вместо "я не слышал, чтобы" буду теперь говорить, что "как-то раз попробовали, получилась полная хрень".
UPD: Сожалею, но ваша простыня на пять экранов раскрыта не будет. На её подробный разбор ушло бы по меньшей мере полдня, у меня есть лучшие идеи, как потратить полдня. Обычно в таких случаях я просто игнорирую поступление очередной попытки меня в чём-то убедить, но поскольку вы тут далеко не первый день, вам я решил об этом сообщить в явном виде. Ещё раз, и медленно: я не предоставляю трибуну для высказывания точек зрения, противоположных моим, хотите — делайте свой сайт и там пишите что хотите.
ответить
☞ From Арсений (unverified) Thu Oct 31 20:48:39 2024 UTC
Netflix и иже с ними
Андрей, здравствуйте.
Заметил, что вы неодобрительно высказываетесь о сервисах типа нетфликса. А что, по-вашему, с ними не так? Это же не совсем "торговля битами и байтами", пользователь фактически на время просмотра арендует серверную мощность в датацентре нетфликса. Есть даже возможность сохранить сериальчик себе на девайс (впрочем, кастрированная, только на телефон/планшет)
ответить
From Andrey V. Stolyarov Thu Oct 31 21:08:34 2024 UTC
Re: Netflix и иже с ними
Где ж таких конформистов поганых берут-то, а?
По ходу, это реально не понимает (а может, и прикидывается). Если бы это была "аренда серверной мощности", то уж точно не было бы и не могло бы быть никаких ограничений на сохранение локальной копии видео. А ещё не было бы и не могло бы быть никаких "правовых" ограничений на выкладывание этого видео куда-то ещё, и вообще на его распространение.
Между прочим, реализация ограничений на сохранение копии представляет собой заведомо вредоносный софт, "подсаживаемый" пользователям на их устройства и там исполняемый. Собственно, это так с любой "защитой от копирования". Про это недавно ролик вышел.
И вот что, нахуй с пляжа. В смысле, пшёл вон с моего сайта. Мне здесь не нужна всякая мразь, считающая нормальным кормить своими деньгами нетфликсы и прочую подобную копирастическую шушеру.
ответить
From Anonymous (unverified) Fri Nov 1 18:39:07 2024 UTC
Re: Re: Netflix и иже с ними
Есть ещё онлайн-стриминг игр где действительно в некотором смысле аренда серверных мощностей. Например если у пользователя видеокарта так себе, а хочется поиграть в графонистые игры. Но по-моему это тоже мутная тема, как минимум потому что в оплату такого стриминга наверняка включены лицензионные отчисления издателю игры.
ответить
From Andrey V. Stolyarov Fri Nov 1 19:59:52 2024 UTC
Re: Netflix и иже с ними
Слушайте, что за бредни, а? Аренда серверных мощностей — это когда вам предоставляют сервер (VPS, VDS, физическую машину в аренду) или хотя бы ну там разделяемый хостинг. Т.е. когда вы на этом сервере размещаете свои сервисы. Т.е. на сервере крутятся не сервисы владельца сервера, а сервисы клиента.
Всё остальное — это онлайн-услуги, очередная-херня-as-a-service и вот это вот всё. И то обстоятельство, что там где-то за кулисами есть какой-то сервер, вообще никак не относится к делу. Я, хоть убейте, не понимаю, как можно платить за подобное. И дело тут не в каких-то там лицензионных отчислениях, в цену книг или дисков обычно тоже входит копирастическая составляющая, но я никогда не утверждал, что нельзя покупать книги (в смысле настоящие, бумажные; электронные-то, конечно, нельзя).
Дело в общем принципе: есть ограниченный список того, что в принципе может стоить хоть каких-то денег. В первом приближении это (а) материальные объекты и (б) человеческое время, потраченное по конкретному заказу конкретного заказчика. Конечно, неизбежно приходится уточнять, что вообще-то временное использование материальных объектов тоже может стоить денег, ну там автомобиль в аренду; или например, электричество — ну, то ли это такая разновидность материального объекта, то ли отдельный пункт в списке, но да, за электричество платить таки можно, хотя бы понятно за что. Потом ещё возникают совсем уж специфические штуки вроде того, что сами по себе деньги тоже стоят денег (проценты про кредитам — штука вполне понятная, иначе зачем вообще кредит давать, ну и плюс премия за риск — собственно, это основа предпринимательской деятельности: рискнуть своими деньгами, чтобы если всё пройдёт как надо, получить профит), а ещё есть такая вещь, как чьи-то обязательства — они тоже могут стоить денег. Но основное — это именно материальные объекты и человеческое время, потраченное по заказу.
А вот услуги, оказываемые компьютерами, как правило, денег стоить не должны. Просто потому что там в подавляющем большинстве случаев основные расходы — на разработку сервиса, а не на обслуживание серверов. Во всех таких ситуациях количество проданной услуги никаким образом не соотносится с вложенными затратами. Про это я, кстати, ещё семь лет назад видео сделал.
ответить
From Artem (unverified) Fri Nov 1 11:51:40 2024 UTC
Re: Netflix и иже с ними
>> Есть даже возможность сохранить сериальчик себе на девайс
>> Есть даже возможность сохранить сериальчик
>> Есть даже возможность
>> Есть даже
>> даже
Мы, божией милостию император, сим настоящим великодушно позволяем верноподданным стоять на месте, когда им заблагорассудится, если только сие дозволение не вступает в противоречие с актуальным приказом непосредственного начальствующего лица. Стоять необходимо по стойке 'смирно', раз в 15 минут дозволяется почесать нос специальной чесалкой при наличии таковой у случившегося рядом полицейского.
Представляете, даже нос почесать можно! Правда, только если мимо будет проходить полицейский с чесалкой.
ответить
From Anonymous (unverified) Fri Nov 1 14:15:47 2024 UTC
Re: Netflix и иже с ними
Netflix — это вообще самая поганая форма торговли байтами. Именно благодаря им протолкнули "стандарт" EME, так что DRM стал частью спецификаций Web. Раньше конечно DRM тоже было, но только через флеш и всякие более экзотические плагины, но это было именно что нестандартным расширением, которое далеко не везде было и благодаря этому распространение DRMовых сайтов в сети хотя бы как-то сдерживалось и их было немного.
С DRM не хотят мириться даже многие поборники копирайта, настолько это мерзкая штука.
ответить
From Ilya Fri Nov 1 22:31:28 2024 UTC
Re: Re: Netflix и иже с ними
> С DRM не хотят мириться даже многие поборники копирайта, настолько это мерзкая штука.
Что само по себе абсурдно, и непонимание этой абсурдности говорит лишь об отстуствии интеллекта у этих людей, ведь довольно очевидно, что если есть запрет на копирование, неизбежно появится и техническое средство для осуществления этого запрета. Нельзя быть одновременно за войну и против автоматов.
ответить
From Andrey V. Stolyarov Sat Nov 2 06:30:57 2024 UTC
Re: Netflix и иже с ними
Ага, конечно. А быть "за войну" (ну, не так чтоб прямо за войну, но по крайней мере быть милитаристом) и при этом быть против ядрёной бомбы? Против химического оружия? Или если кто-то топит за ОЗХО, то он просто обязан быть пацифистом и вообще хиппи с фенечками?
Это не говоря уже о том, что DRM никакого отношения к "техническим средствам" не имеет, всё, что касается "защиты от копирования", может быть обеспечено только картельным сговором вендоров оборудования и/или беспределом государевых законодателей. Потому что если не запрещать тем или иным (сугубо организационным) способом opensource'ные решения, первый же появившийся открытый софт для воспроизведения того или иного "DRM-ного" контента тут же будет соответствующим образом пропатчен. Чисто технически защита от копирования невозможна, всё, что можно воспроизвести, может быть также и скопировано.
Так что тут, если вернуться к аналогии с милитаристами, будет скорее что-то вроде "можно ли быть за войну и одновременно против договорняков и предателей в правящей верхушке".
(на всякий случай, это всё никоим образом не относится лично ко мне, поскольку я как раз категорически против копирайта как такового)
ответить
From Anonymous (unverified) Sun Nov 3 13:15:56 2024 UTC
Re: Re: Netflix и иже с ними
Есть ещё аппаратная фигня, в процессорах Intel и AMD есть шифрование данных идущих по системной шине, потом ещё в видеокарте к монитору HDCP, плюс TPM который поддерживает Remote Attestation. Не знаю насколько оно сейчас работоспособна, но идея такая что с помощью криптографии комп может доказать какому-нибудь там нетфликсу, что он полностью заDRMлен и пользователь может разве что видеокамерой экран снимать.
Но насколько я понимаю, фильмы с нетфликса всё равно рипают в тот же день когда оно появляется. Вот и зачем было тратить такие грандиозные ресурсы, в том числе вычислительную мощность компьютеров пользователей если оно не работает?
ответить
From Andrey V. Stolyarov Sun Nov 3 14:09:53 2024 UTC
Re: Netflix и иже с ними
> Есть ещё аппаратная фигня,
См. выше про картельный сговор вендоров.
> комп может доказать какому-нибудь там нетфликсу, что он полностью заDRMлен
Воспроизводит видео отнюдь не процессор, правда? Процессор для этого слишком тупой. Ну то есть в него может быть много чего встроено, но для воспроизведения видео нужен софт. См. выше про открытые исходники.
> если оно не работает
То обстоятельство, что оно не работает, никоим образом не оправдывает ни всех этих технофашистов, ни тем более ту безответственную шушеру, которая считает возможным платить живые деньги за биты и байты.
ответить
From Anonymous (unverified) Sun Nov 3 14:43:38 2024 UTC
Re: Re: Netflix и иже с ними
> См. выше про картельный сговор вендоров.
Если там только Intel, AMD и Microsoft, ну ещё Nvidia, то действительно сговориться не так трудно.
> но для воспроизведения видео нужен софт. См. выше про открытые исходники.
Насколько я понимаю, открытый софт который будет проходить эту remote attestation невозможен, ну по идее. Просто потому что нетфликс не будет отдавать видеопоток если нет доказательств что у пользователя проприетарный софт причём конкретной версии и не модифицированный.
> То обстоятельство, что оно не работает, никоим образом не оправдывает ни всех этих технофашистов, ни тем более ту безответственную шушеру, которая считает возможным платить живые деньги за биты и байты.
Даже наоборот. Но вред-то от этой всей хрени всё равно огромный, даже не смотря на то что она не работает. Например в Firefox пропихнули поддержку этого говна и нужно следить, чтобы оно случайно не включилось и не скачало какой-нибудь проприетарный плагин. Плюс те участки чипов, которые заняты DRM могли бы вместо этого делать что-нибудь полезное при той же себестоимости, а ведь платят за это покупатели компов, даже если они вовсе никогда в жизни не зайдут на нетфликсоподобное говно. Плюс из-за того что DRM как раз в Intel ME и AMD PSP, а по закону раскрывать детали работы этой хрени нельзя, выходит что во-первых не получается разработать альтернативную прошивку для этих хреней, во-вторых проблемы с раскрытием уязвимостей в ней.
ответить
From Andrey V. Stolyarov Sun Nov 3 16:03:31 2024 UTC
Re: Netflix и иже с ними
> открытый софт который будет проходить эту remote attestation невозможен
Вот я как раз об этом. См. выше про картельный сговор вендоров.
А самое интересное, что security through obscurity не работает. Крякнуть закрытую софтину по трудозатратам несколько сложнее, чем открытую, но это же не значит, что её вообще нельзя крякнуть. Вот и рипают этот дебильный нетфликс, и правильно делают. Копирасты должны страдать.
ответить
From Anonymous (unverified) Sun Nov 17 06:58:20 2024 UTC
Re: Re: Netflix и иже с ними
Самое забавное, что эти продавцы байтов ещё и рекламу гонят, в платной версии. Речь, правда, про российские аналоги - кинопоиск там и тд. Причём рекламы они начали вставлять больше чем в даже в эфирном телевидении. То есть, если им заплатишь деньги, то ещё рекламы посмотришь по времени чуть ли не больше чем фильма (а может и больше). Про Netflix не знаю.
ответить
From Andrey V. Stolyarov Sun Nov 17 08:48:16 2024 UTC
Re: Netflix и иже с ними
Меня ещё лет двадцать назад начало возмущать, что в кинотеатрах перед собственно фильмом крутят ещё и рекламу.
Но вообще, если подумать, явление-то одно и то же, даже если не привлекать термин "информационное насилие". Есть мрази, которые считают для себя возможным решать в одностороннем порядке, как будет протекать коммуникация, не спрашивая об этом, собственно говоря, людей. А идёт ли при этом речь о копирастии, или цензуре (впрочем, "авторские" права — это частный случай цензуры), или рекламе, или всякой телеметрии и прочем сборе данных — это вопрос второй, хотя и важный.
ответить
From Anonymous (unverified) Sun Nov 17 11:54:45 2024 UTC
Re: Re: Netflix и иже с ними
> Меня ещё лет двадцать назад начало возмущать, что в кинотеатрах перед собственно фильмом крутят ещё и рекламу.
Я в кинотеатре был два раза, оба раза со школьным классом. Был какой-то черно-белый фильм про детство Горького и ещё что-то такое. Но рекламы вообще не было. Где-то 20 лет назад как раз.
Всё ещё не понимаю, нафига нужен кинотеатр если можно скачать на свой ноутбук файл и сколько угодно ставить на паузу, перематывать, включать/выключать субтитры и так далее. Ну и я стараюсь смотреть всё на английском языке, чтобы была хоть какая-то практика восприятия на слух, а в кинотеатре в России такое вряд ли возможно.
ответить
From Andrey V. Stolyarov Sun Nov 17 15:34:53 2024 UTC
Re: Netflix и иже с ними
Не, ну от фильма на большом экране впечатление, конечно, несколько другое. Впрочем, поход в кино — это такое развлекательное мероприятие, которое состоит не только из собственно фильма.
Но да, лично для меня последней каплей стала как раз реклама — лет десять я в кино уже не был и не собираюсь.
ответить
☞ From Anonymous (unverified) Wed Oct 30 23:06:02 2024 UTC
Продажа битов и байтов через продажу доступа к ним
Допустим, кто-то размещает какие-то материалы в закрытом телеграм-канале, вход в который стоит денег. Владелец канала сообщает, что при входе человек даёт согласие не распространять материалы; если он узнает, что кто-то это сделал — то найдёт и накажет.
Можно ли так продавать биты и байты?
ответить
From Andrey V. Stolyarov Thu Oct 31 07:46:04 2024 UTC
Re: Продажа битов и байтов через продажу доступа к ним
Ну, начать, наверное, с того, что только конченная безответственная мразь может пользоваться телеграмом. Без этого замечания картина будет неполной.
Продавать так, вообще говоря, можно, поскольку ни на каком этапе нет насилия, всё вроде бы по согласию.
С теми, кто так (а равно и любым другим способом) покупает биты и байты, лично я предпочитаю не здороваться. Именно те моральные уроды, которые считают возможным платить за биты и байты, своей безответственностью продлевают агонию медийного спрута.
Мне вот интересно, что из этого не очевидно и за каким хером подобные вопросы вообще задавать.
ответить
From Anonymous (unverified) (unverified) Thu Oct 31 10:41:38 2024 UTC
Re: Re: Продажа битов и байтов через продажу доступа к ним
В некоторых случаях платить за биты и байты наверное можно, если там какой-нибудь логин и пароль для предоплаченной VPS или ещё чего-нибудь. Или нет? А если продавать персонажа в онлайн играх (опять же логин и пароль)?
В общем случае, если после такой продажи тот кто продаёт лишается возможности дальше пользоваться тем, что он продаёт и не может продать это второй раз, то наверное это ОК.
ответить
From Andrey V. Stolyarov Thu Oct 31 13:51:03 2024 UTC
не люблю демагогов
> если там какой-нибудь логин и пароль для предоплаченной VPS или ещё чего-нибудь
В упор не вижу тут платы за биты и байты. За услугу VPS — вижу, и это нормально.
> А если продавать персонажа в онлайн играх
В самом факте продажи криминала не вижу, но тех, кто такое готов покупать, стоило бы, наверное, госпитализировать.
> если после такой продажи тот кто продаёт лишается возможности дальше пользоваться тем, что он продаёт и не может продать это второй раз
... то это заведомо не имеет никакого отношения к плате за биты и байты.
И вон с моего сайта, мне тут дешёвые демагоги ни в какое место не упёрлись.
ответить
From Artem (unverified) Thu Oct 31 16:28:13 2024 UTC
Re: Re: Re: Продажа битов и байтов через продажу доступа к ним
>> лишается возможности дальше пользоваться тем, что он продаёт и не может продать это второй раз
Хе-хе. Такое с физическими-то предметами не всегда прокатывает, у меня пару раз было, что одну и ту же вещь пытались продать мне второй раз. Мораль -- воздержитесь от коммерческих операций с близкими родственниками.
ответить
☞ From Vanya (unverified) Mon Oct 28 10:52:40 2024 UTC
Изучение языков программирования
Доброго времени суток. Видел тут недавно кто-то писал коментарий по поводу конспектов. Так вот, у меня назрел вопрос. А есть ли смысл и потребность писать конспекты при изучении языков программирования? Например, Си. Есть ли смысл конспектировать бызовые определения и т.д.? Или же практика, практика и еще раз практика?
ответить
From Andrey V. Stolyarov Mon Oct 28 12:24:26 2024 UTC
Re: Изучение языков программирования
Ваш вопрос полностью лишён смысла. Кому-то эффективнее конспектировать, кому-то — запоминать в ходе практики.
ответить
☞ From Василий Ильич (unverified) Sat Oct 26 17:53:54 2024 UTC
Слоники и ёжики
Концепция слоникой и ёжикой очень и очень милая, но:
а) Почему они не векторные?
б) Если по какой-то причине векторная графика недопустима, то почему растровое изображение такое шакальное?
ответить
From Andrey V. Stolyarov Sat Oct 26 18:05:30 2024 UTC
Re: Слоники и ёжики
Честно говоря, какие под руку попались, такие и вкрячил.
ответить
From Артем (unverified) Mon Oct 28 11:14:22 2024 UTC
Re: Re: Слоники и ёжики
Андрей Викторович, а можно узнать ваше мнение на счёт SVG изображений, раз разговор про эту тему тут вообще зашёл? На сколько правильно их использовать в вебе? Или это что-то из разряда html5, css3 и прочих ужасных вещей, которые лучше не использовать?
Изображение, да ещё и векторное, представленное в виде кода, выглядит как хорошая замена обычным иконкам и другой графики вместо gif и png. Но может есть какие-то подводные камни?
ответить
From Andrey V. Stolyarov Mon Oct 28 12:23:16 2024 UTC
Re: Слоники и ёжики
Я не имею ничего против SVG, во всяком случае на вебе, где уже хуже сделать тяжело (так-то, конечно, любой XML и вообще SGML-like — зло). Возможно, я там чего-то не знаю, но вроде это XML как XML.
ответить
From мейнтейнер и сисадмин локалхоста (unverified) Mon Oct 28 15:18:37 2024 UTC
Re: Слоники и ёжики
Не знаю как насчёт самого формата (хотя XML в любом случае зло, согласен), но основную библиотеку для работы с ним (librsvg) переписали несколько лет назад с использованием раста. И вот с тех пор я, как мейнтейнер и сисадмин локалхоста, начал испытывать к ней (вернее, конечно, к дебилам и мерзавцам, которые это учинили) сильную личную неприязнь. Приходится выкидывать её, вместе с поддержкой формата, отовсюду, куда руки дотянутся (например, из FVWM).
ответить
From Andrey V. Stolyarov Mon Oct 28 16:01:32 2024 UTC
Re: Слоники и ёжики
Ну да, мрази как мрази, хотя чего ещё ожидать от гномеров. В принципе там уже cairo в депендах достаточно, чтобы считать либу неюзабельной.
А что, других реализаций совсем нет?
ответить
From Eugene (unverified) Mon Oct 28 16:29:43 2024 UTC
Re: Re: Слоники и ёжики
Если вы про включение исполняемого кода, то увы, в svg есть тег
<script>
, который как раз позволяет внедрять код непосредственно в изображение. Пример здесь приводить не буду, но доступ к объектам DOM точно есть, возможно и к разным API тоже, не изучал подробно. Изображение, выполняющее код — это не изображение, это программа.ответить
From Andrey V. Stolyarov Mon Oct 28 16:59:37 2024 UTC
Re: Слоники и ёжики
Ага, ну этого я не знал. Всё, SVG в моих личных списках переходит из категории "странных монстров" в категорию "вредоносных монстров".
ответить
From Artem (unverified) Tue Oct 29 09:57:30 2024 UTC
Re: Re: Re: Слоники и ёжики
Да что там API, туда натурально JavaScript встраивается.
Можно, впрочем, этот тег выстригать на своих машинах, но другие-то этого делать точно не будут. А кто-то точно повяжет на это не только бестолковые анимации, но и существенные детали.
А других-то векторных форматов ни один браузер не поддерживает. Даже вездесущий PostScript они умеют только в форме PDF, и только через костыль в виде встраивания интерфейса своего внутреннего вьювера на страницу.
ответить
From Andrey V. Stolyarov Tue Oct 29 11:35:38 2024 UTC
Веб - зло.
Веб — зло.
Впрочем, PostScript и PDF оба тьюринг-полные во всю морду. Что-то мир не туда свернул в какой-то момент.
ответить
From Paganel (unverified) Tue Oct 29 22:48:45 2024 UTC
Re: Re: Re: Слоники и ёжики
Ну всё же можно перед использованием эти файлы проверять и при наличии любые скрипты удалять.
Мне больше интересно влияет ли на их работу отключение JS'а в браузере
ответить
From Andrey V. Stolyarov Wed Oct 30 12:24:35 2024 UTC
Re: Re: Re: Re: Слоники и ёжики
> эти файлы проверять и при наличии любые скрипты удалять
Вы видели, что там внутри?
ответить
From Paganel Fri Nov 1 23:21:45 2024 UTC
Re: Re: Re: Re: Re: Слоники и ёжики
В каком смысле?
SVG файл это же обычный XML код, который откроется в любои текстовом редакторе, в том же vim'е например
ответить
From Andrey V. Stolyarov Sat Nov 2 06:19:00 2024 UTC
Re: Слоники и ёжики
В каком смысле? В самом прямом. Что толку, что он "откроется", если в нём ни один человек не разберётся никогда? В целом это общее свойство SGML-подобных форматов, но на генерённых XMLях, исходно не предназначенных к чтению человеком, сие проявляется особенно явно. Между прочим, даже на самых простеньких, вон есть, например, форматы отчётности в налоговую и прочие государеввы органы, там даже когда во всём документе полтора значения, об этот XML глаза сломать можно. Внутренности XMPP — вообще беда, хотя казалось бы, ну вот что такого сложного в обычных коротких сообщениях, кидаемых туда-сюда. Но нет же, уебанам только дай в руки XML, уж они там оттопырятся по полной.
А SVG к числу "простеньких" не относится никак.
ответить
From Paganel Thu Nov 7 09:44:13 2024 UTC
Re: Re: Слоники и ёжики
А, ну если так.
Просто я как-то видел вручную написанные SVG, где всё нормально и удобочитаемо. Один даже сам редактировал, это была какое-то карта на Викискладе.
ответить
From Andrey V. Stolyarov Thu Nov 7 10:53:30 2024 UTC
Re: Слоники и ёжики
Не могу не признать, что возможность ручного редактирования — это несомненное достоинство SVG. Только, боюсь, единственное.
ответить
☞ From Anonymous (unverified) Sun Oct 20 09:07:10 2024 UTC
А на чём-нибудь можно писать ООП программы, кроме C++?
Посмотрел на Object Pascal. Какая глупость! Есть 3 способа создать объекты (record, object, class). record это просто структура, которая ничего не умеет. object умеет наследование и виртуальные функции, но конструктор и деструктор надо вызывать руками. class умеет выделяться только в куче (что само по себе ужас), но умеет class constructor и class destructor, которые в отличие от constructor и destructor умеют вызываться автоматически, но class constructor не может принимать параметры. Обычный constructor принимать параметры может, но не вызывается автоматически. Короче, бред какой-то.
В objective-c, D и Vala есть GC (хоть и опционально), что неприемлемо.
Неужели только C++? Неужели нет НИ ОДНОГО другого более-менее адекватного языка?
ответить
From Andrey V. Stolyarov Sun Oct 20 09:27:32 2024 UTC
Re: А на чём-нибудь можно писать ООП программы, кроме C++?
Всё намного хуже, чем вы думаете. В мире нет вообще ни одного сколько-нибудь адекватного языка программирования общего назначения, на C++ приходится писать только от полной безысходности. Но да, всё остальное ещё хуже, тут вы правы.
Вот сейчас наверняка дегенераты набегут и будут советовать Java и Go, не удосужившись прочитать исходный коммент, и наверняка ещё кто-нибудь Rust помянет. Я, конечно, их комменты не раскрою, но что они точно будут — это к бабке не ходи.
ответить
From Anonymous (unverified) Sun Oct 20 10:18:18 2024 UTC
Re: Re: А на чём-нибудь можно писать ООП программы, кроме C++?
Ну справедливости ради не набегут. Go и Rust процедурные языки, но да, Java упомянуть могут.
Если бы C++ был нормальным языком, я бы не пытался найти ему замену :-)
С каждым годом ISO всё больше и больше уродует язык, при этом почему-то кто-то это считает "развитием". Если бы они хотели развивать язык, они бы делали ИНСТРУМЕНТЫ для решения проблем в языке, а не писали: "Вот это вот может такой-то класс в STL" (само собой класс написать невозможно средствами языка, класс должен быть реализован в кишках компилятора).
В C++ есть более фундаментальные проблемы, но даже если работать с тем что есть, ISO творит какой-то бред.
ответить
From Andrey V. Stolyarov Sun Oct 20 11:04:04 2024 UTC
Re: А на чём-нибудь можно писать ООП программы, кроме C++?
Вы вообще сайтом не ошиблись?
Ну, начать с того, что вот это ваше
> само собой класс написать невозможно средствами языка, класс должен быть реализован в кишках компилятора
не имеет ничего общего с реальностью даже в том уёбище, которое родили международные террористы, по недоразумению именуемые стандартизационным комитетом.
Но я как бы обычно предполагаю, что на мой сайт не ходят люди, полагающие возможным использование того ни на что не годного бастарда, который из C++ сделали стандартизаторы и который, разумеется, ничего общего с "языком C++" не имеет. Говоря, что от полной безысходности приходится писать на C++, потому что всё остальное ещё хуже, я под "C++" подразумеваю тот язык, который существовал до принятия самого первого "стандарта" 1998 года. Вообще всё это давно описано, см. сюда: http://thalassa.croco.net/doc/cpp_subset.html
ответить
From Anonymous (unverified) Sun Oct 20 11:20:09 2024 UTC
Re: Re: А на чём-нибудь можно писать ООП программы, кроме C++?
> не имеет ничего общего с реальностью даже в том уёбище, которое родили международные террористы, по недоразумению именуемые стандартизационным комитетом.
Я вас расстрою, Андрей Викторович, имеет. Например std::initializer_list.
> Но я как бы обычно предполагаю, что на мой сайт не ходят люди, полагающие возможным использование того ни на что не годного бастарда, который из C++ сделали стандартизаторы и который, разумеется, ничего общего с "языком C++" не имеет. Говоря, что от полной безысходности приходится писать на C++, потому что всё остальное ещё хуже, я под "C++" подразумеваю тот язык, который существовал до принятия самого первого "стандарта" 1998 года. Вообще всё это давно описано, см. сюда: http://thalassa.croco.net/doc/cpp_subset.html
Свои проекты я пишу на классических плюсах. В "новомодном" говне от ISO к сожалению приходится ковыряться по работе. Сам я никогда не буду использовать STL, не говоря о C++11 и прочем в своих проектах.
ответить
From Andrey V. Stolyarov Sun Oct 20 11:42:49 2024 UTC
Re: Re: Re: А на чём-нибудь можно писать ООП программы, кроме C++?
> Я вас расстрою
С одной стороны, не вижу, где тут у меня причина для расстройства. Если тот бастард, который я называю бастардом и никогда не использую, даже и окажется ещё больше бастардом, чем я о нём думал, то что в этом плохого-то?
С другой стороны, когда-то давно я был уверен, что закрепление в стандарте чистого Си такого момента, что sizeof якобы возвращает значение типа size_t, разрушило границу между библиотекой и языком. В действительности это не так, просто компилятор реализует sizeof возвращающей какой-то целочисленный тип, а хидеры "стандартной" библиотеки, зная, какой конкретно целочисленный тип закреплён за sizeof в данном конкретном компиляторе, вводят соответствующий typedef. Ну то есть компилятор не обязан приписывать идентификатору size_t какой-то свой смысл, это за него делают заголовочники.
Насколько я понимаю, с initializer_list (и, например, с функторами, которые получаются из лямбд — если не ошибаюсь, std::function) там ситуация до какой-то степени аналогичная, хотя компилятор, увы, таки "знает" конкретные имена классов. До какой степени там реально библиотека и компилятор в этих местах друг на дружку повязаны — я подробно не разбирался, так что могу ошибаться.
Несомненно, всё это не делает C++11 (как, впрочем, и C++98) чем-то отличным от ни на что не годного бастарда, не подлежащего применению, а комитетчиков — кем-то отличным от особо опасных международных террористов.
ответить
From Anonymous (unverified) Wed Oct 23 12:39:51 2024 UTC
C++26
наткнулся недавно на C++26 Draft, решил ради любопытства пробежать глазами и увидел вот такой вот такой вот ужас
Удивительно как этот дурдом на колесах продолжает ехать.
ответить
From Andrey V. Stolyarov Wed Oct 23 17:15:14 2024 UTC
Re: C++26
Я прекратил удивляться чему бы то ни было, когда появился C++11.
ответить
From Anon (unverified) Thu Oct 24 05:14:29 2024 UTC
Re: C++26
Куда там 26.. Они в 20 такого пи****ца надобавляли, что даже по сравнению с С++17 это совершенно другой язык. Самое кошмарное, что на хедхантере подавляющее большинство вакансий требуют уже 20 стандарт, даже не 11 или 14. При этом позиции вроде весьма интересные по задачам, ну то есть глупые люди там работать не могут. Неужели так велика роль "стандарта"? Неужели не очевидна не только вредоносность стандартов как таковых, но даже если принять их допустимыми: чуваки, у вас каждые 3 года язык кординально изменяется, вы действительно считаете это нормальным?
ответить
From Andrey V. Stolyarov Thu Oct 24 05:26:49 2024 UTC
Re: Re: C++26
> ну то есть глупые люди там работать не могут
Абсолютно безосновательное предположение, увы.
ответить
From Artem (unverified) Thu Oct 24 21:38:32 2024 UTC
Re: Re: C++26
> чуваки, у вас каждые 3 года язык кординально изменяется
Эти чуваки в курсе. У них каждые полгода вся индустрия ПО кардинально меняется, так, что хоть бери и увольняй всех и набирай по-новой. А вы про язык раз в 3 года...
По факту, конечно, кардинальное изменение индустрии это выход нового (точно такого же, как все предыдущие, но другого) фреймворка, к которому никто не успеет даже прочесть документацию до того, чем произойдёт очередной "тектонический сдвиг",
ответить
From Anonymous (unverified) (unverified) Sat Oct 26 14:44:24 2024 UTC
Re: C++26
Это вы ещё на C++34 не смотрели
ответить
☞ From Дмитрий (unverified) Sat Oct 19 13:20:41 2024 UTC
Добавление информации в главу про страничную организацию виртуальной памяти
Андрей Викторович, здравствуйте!
Когда я читал главу 8.3.5 у меня возник вопрос, откуда MMU узнает адрес Page Directory. Старший товарищ мне подсказал, что этот адрес является физическим и хранится в служебном регистре cr3. Подскажите пожалуйста, почему вы решили не уточнить этот момент в книге?
ответить
From Andrey V. Stolyarov Sat Oct 19 13:36:46 2024 UTC
Re: Добавление информации в главу про страничную организацию виртуальной памяти
Например, потому что часть 8 не имеет никакого отношения к архитектуре x86. Существуют даже такие архитектуры, где процессор вообще не знает ничего ни про расположение страничных таблиц, ни про их организацию, а каждый промах мимо TLB приводит к внутреннему прерыванию, обработчик которого как раз и заносит в TLB нужную информацию.
Справочные сведения следует искать в справочниках, каковым моя книга не является.
ответить
☞ From Anonymous (unverified) Wed Oct 16 13:56:28 2024 UTC
Допустимая длина подпрограммы
В книге Оформление программного кода вы пишете, что длина подпрограмм даже со switch не должна превышать 50-60 строк, но как тогда делать switch по всем символам ASCII, или по статус кодам http, или опкодам x86? Их же сотни.
ответить
From Andrey V. Stolyarov Wed Oct 16 14:16:09 2024 UTC
Re: Допустимая длина подпрограммы
Статус-кодов HTTP, положим, даже близко не сотни, учите матчасть. По символам ASCII (если вот прямо всем) и тем более по опкодам делать switch — это крайне херовая идея, всё равно ведь обработку придётся в отдельные функции выносить — ну так и сделайте массив (или какую-то другую структуру данных, да хоть дерево) указателей на функции.
Вообще если приходят в голову идеи свичей на сотни вариантов, тут стоит задуматься, тем ли вы вообще в жизни занимаетесь.
ответить
From ex (unverified) Thu Oct 17 12:39:54 2024 UTC
Re: Допустимая длина подпрограммы
Vmain()
Типичная студенческая switch-case портянка (обработчик команд visual (open/vi) режимаex
)ex_vmain.c Не на сотни вариантов, но на сотни сырых строк.
ответить
From Andrey V. Stolyarov Thu Oct 17 13:03:11 2024 UTC
Re: Re: Допустимая длина подпрограммы
Тут длина функции — отнюдь не самое страшное, вы посмотрите, сколько там меток, на которые делается goto. Абсолютно нечитаемый и неразбираемый код, snake wedding как он есть.
Но...
> * Bill Joy UCB September 1977
... но этому коду скоро полвека. Конечно, статья Дейкстры появилась раньше (на девять, что ли, лет), но Интернета и всякого гугла тогда не было, компьютеры были большие, программы маленькие, словом "программист" обозначалась профессия скорее экзотическая, так что ожидать от каждого программиста, что он эту статью не то что прочитал, но хотя бы слышал о её существовании, в те времена не приходилось никак.
ответить
From ex (unverified) Sun Oct 20 13:51:33 2024 UTC
Re: Re: Re: Допустимая длина подпрограммы
... Прошло 30 лет. Bill Joy покинул Sun Microsystems. Но никто так и не решился убрать сакральные метки, который наставил будущий магистр: OpenSolaris
ответить
From Andrey V. Stolyarov Sun Oct 20 14:11:24 2024 UTC
Re: Допустимая длина подпрограммы
вот прямо так и просится: и чО?
ответить
☞ From eax (unverified) Sat Oct 12 01:00:31 2024 UTC
Насколько все плохо
Андрей Викторович, хотел бы поделиться с вами насколько все реально плохо для начинающих программистов. (извиняюсь за лонгрид)
В 2018 году я задумался о смене профессии и решил попробовать себя в программировании, так как был большой интерес к этому. Посмотрел кучу статей и видосов на ютубе (в основном англоязычных) о том какое направление лучше выбрать, какой язык и т.п.. Сейчас с ужасом вспоминаю, что 99% советов - идти в веб-разработку (или мобильную). Там дескать очень много вакансий, можно быстро выучиться, не нужно знать математику, а языки c и c++ умирают и никому не нужны. В общем выбрал я для себя мобильную разработку под IOS (у меня как раз макбук был с работы).
Взял официальную книгу-туториал от Apple. Начал очень активно изучать, но по ощущениям явно что-то не то было (обучение в стиле: делайте так, а почему так - мы не скажем). Понял, что надо с низов изучать, что бы все было понятно. Начал искать книги, курсы и т.п., и очень многие советовали Гарвардский курс: "CS50: Introduction to Computer Science". Я подумал, что это то, что нужно, плюс это же Гарвард, значит материал точно будет качественный)
Вот лекции курса: 1.Scratch 2.C 3.Arrays 4.Algorithms 5.Memory 6.Data Structures 7.Python 8.SQL 9.HTML,CSS,JavaScript 10.Flask
И это считают "strong foundation in computer science"! Серьезно, можете почитать отзывы об этом курсе - все там кипятком ссутся, мол поняли как компьютер работает на самом деле. (а там по факту только про память что-то дельное рассказывают и то только на процентов 5% от того, что есть в вашем трехтомнике).
Возвращаясь к моему опыту, я дисциплинировано лекции смотрел, конспектировал, делал задачи, которые там давали, даже сертификат смогу найти, наверное, если зайти на платформу их. Веб программирование меня не интересовало, поэтому я ушел перед питоном и html,css,javaskript, в иллюзии, что я тоже понял, как оказывается все работает под капотом (а понял я по факту только как память работает) и готов идти дальше.
Спустя месяца 3-4 я нашел первую работу разработчиком ios-приложений, в команде был я и один сеньор. Сказали мне изучать реактивную библиотеку RxSwift (всего лишь одна из библиотек), пока я ее изучал и читал код на проекте складывалось ощущение, что попал я в какой-то отстой. Потом мне сказали, чтобы я часть экранов делал не кодом, а через сториборды (это по почти то же самое, как если бы через photoshop). В общем через неделю я оттуда ушел и понял, что программирование это походу не мое и уж тем более делать формочки и ui я не хочу. Вернулся на старую работу и программированием занимался по фану для себя и даже написал пару программ, которые упрощали мне мою же работу. О работе программистом не задумывался вообще.
И вот спустя почти 3 года решил я почистить директорию с книгами, которые я накачал пока изучал "программирование" и был там ваш трехтомник, который я ни разу не открывал. Подумал, прочитаю введение и удалю. Когда я прочитал предисловие - во мне что-то кликнуло, я понял, что это именно то, что я когда-то искал и не нашел. С диким интересам начал читать и вот уже почти месяца 4 изучаю с огромным удовольствием по 5+ часов в день. В вашей книге реальные знания, которые никогда не утратят актуальности, в отличие от всех тех фейковых знаний, которыми кишит сейчас "обучающий контент" по программированию.
К чему я это все? Да абсолютное большинство никогда не узнает даже про вашу книгу - они будут следовать советам кого-то веб-программиста из гугла и так ничего и не будут знать о реальном программировании (у меня есть знакомый, который работая 5 лет на php, не знает как бабл сорт сделать). По факту, чтобы отыскать ваш трехтомник - это должно пиз**ц как повести, и это еще если ты знаешь русский, так как аналогичной книги нет во всем мире! То есть ситуация значительно хуже, чем если бы вообще не было никаких гайдов и туториалов, потому как тебе, чтобы найти реальные знаний, приходится пробираться через кучи дерьма, которые тебе подсовывают "эксперты" и советчики.
Короче, спасибо вам огромное за ваш монументальный труд!
ответить
From Andrey V. Stolyarov Sat Oct 12 10:06:30 2024 UTC
Re: Насколько все плохо
Гляньте сюда, там по ссылке на ютюбе лекция одного программиста старой закваски. Плохо всё не только для начинающих, тут, судя по всему, бери выше — программистский опыт не передаётся следующему поколению вообще, а в целом речь следует вести о цивилизационной деградации.
P.S. ещё раз напишете "что бы" через пробел там, где это очевидно одно слово — не раскрою коммент, что бы в нём ни содержалось (и да, вот тут пробел нужен, а проверить очень просто: если от убирания "бы" фраза не превращается в тарабарщину и не меняет смысл на противоположный, то это частица, а если превращается — то это просто второй слог слова "чтобы").
ответить
From Parthen Sun Oct 13 18:44:20 2024 UTC
Re: Re: Насколько все плохо
>программистский опыт не передаётся следующему поколению вообще
Через века будет тайный программисткий орден, который будет передавать знания о том, как реально все устроено :)
ответить
From Andrey V. Stolyarov Mon Oct 14 08:02:37 2024 UTC
Re: Насколько все плохо
Почему через века? Такие ордена уже есть, и вовсе не тайные. Например, сообщества разработчиков ядер. Не знаю как насчёт Linux'а, куда Торвальдс растеров пропустил, но BSDшники вроде как-то ещё держатся.
Впрочем, можно далеко не ходить, аудитория этого сайта тоже представляет собой именно такой вот "орден".
ответить
From Parthen Mon Oct 14 11:41:55 2024 UTC
Re: Re: Насколько все плохо
>но BSDшники вроде как-то ещё держатся
Такое чувство, что они как неуловимый Джон: не продаются, потому что еще никто не предлагал.
Ну, а если предложат...
ответить
From Andrey V. Stolyarov Mon Oct 14 11:59:26 2024 UTC
Re: Насколько все плохо
Что-то гложут меня определённые сомнения, учитывая, например, происхождение ядра макоси.
Впрочем, продаются-то все, это нормально. Только всеобщая дебилизация в сфере IT обусловлена отнюдь не тем, что всех внезапно кто-то купил.
ответить
From Artem (unverified) Mon Oct 14 12:12:01 2024 UTC
Re: Re: Re: Насколько все плохо
Старинный холивар между сторонниками лицензий GPL и BSD сводится каждый раз к одному и тому же: к рассуждениям на тему, является BSD'шное дозволение закрывать производные работы проявлением свободы или же её попранием. Но то, что всё, опубликованное под лицензией BSD, создаётся с целью кому-то продать и сам код, и умение с ним работать, это известный факт, и в большинстве случаев оно таки успешно продаётся. Кроме ядра MacOS, можно вспомнить встроенную ОС игровой приставки Playstation, начиная, вроде бы, со 2 её поколения и до наших дней.
ответить
From Максим Клочков Mon Oct 14 20:08:58 2024 UTC
Re: Насколько все плохо
Вся линейка железок Juniper - это BSD. Впрочем, наврал - Contrail это Linux, но это и не железки, это софтовое решение.
ответить
From Ilya Tue Oct 15 09:48:34 2024 UTC
Re: Re: Насколько все плохо
> но BSDшники вроде как-то ещё держатся
А точно держатся? В FreeBSD уже хотят раст пропихнуть. Радует только одно, главный мэйнтенер Rust-For-Linux ушел из проекта, устав от безуспешных попыток убедить остальных мэйнтенеров ядра учить раст (которые сравнили его с религией), так что надежда все же есть. А мораль то на самом деле проста, пока существуют эти Foundations с их спонсорами ввиде корпораций, ничего кроме долгосрочной деградации в проекте быть не может.
ответить
From Andrey V. Stolyarov Tue Oct 15 10:04:50 2024 UTC
Re: Насколько все плохо
Пока существует секта растеров, они, разумеется, будут пытаться пропихнуть его всюду, куда дотянутся. В целом это самое токсичное сообщество, когда-либо возникавшее в IT. Пока что у них получается не очень, но кто знает, кто знает. В своё время христанутые развалили римскую империю и устроили средневековье, по факту отменив все достижения античной цивилизации, так что секты недооценивать вредно для здоровья.
ответить
From Artem (unverified) Tue Oct 15 13:49:48 2024 UTC
Re: Re: Насколько все плохо
Они чего-то добиваются лишь потому, что за ними стоят корпорации. Причём конкретно эта операция у корпораций проходит не очень хорошо, прежние были успешнее.
С римской империей всё тоже куда сложнее -- западная трещала по всем швам за столетия до гибели, а восточная благополучно простояла всё средневековье. Да и не только и не столько христиане стали причиной средневекового отката прогресса, наложился климатический пессимум в Европе, всем тупо стало не до развития. А спасавшие ранее римлян от аналогичных катаклизмов торговые связи с югом и востоком были в какой-то момент отрезаны мусульманскими завоеваниями. В восточной империи, опять же, никакой откат прогресса вообще не происходил, хоть она и была христианской, до тех самых пор, пока она не загнулась под ударами поочерёдно то славян, то арабов, то крестоносцев, то турок.
ответить
From Parthen Tue Oct 15 19:02:05 2024 UTC
Re: Re: Re: Насколько все плохо
Ну кстати, вы вроде шарите за историю (я - нет).
http://infoviolence.org/ytid.cgi/ksAqr4lLA_Y у вот этого товарища есть многочасовой разбор почему ж Гитлер и Ко все-таки социалисты.
И в ходе этого разбора, на 13:25 идет объяснение, мол, чем бы христианство не было, оно спровоцировало подъем индивидуализма (мол, раньше ты принадлежал семье, а теперь сам себе собственный).
Оно реально так или какие-то другие причины были?
ответить
From Artem (unverified) Wed Oct 16 03:24:08 2024 UTC
Re: Re: Re: Re: Насколько все плохо
Коротко: да нихрена оно не так.
Длинно: Христианство чем-то цельным было разве что во времена, когда сам Христос ещё ходил своими ногами по грешной земле. Всё остальное время христианством называли неоднородную массу непохожих друг на друга культов, не согласных друг с другом ни в чём, кроме имени того, чьё слово они извращают. С индивидуализмом, однако, хоть как-то связаны лишь несколько из этих культов, возникших очень даже кучно в одном регионе -- западной Европе, и объединённых названием <<протестантизм>>. Ничего подобного в других регионах распространения христианства не возникло, индивидуализм туда был импортирован, и в большинстве случаев не прижился, либо прижился как порицаемая модель поведения. При этом в самой Европе христианство было принято далеко не в числе первых, это видно хотя бы по гигантской территории, попавшей под управление римского патриарха, при достатчно скромных у всех остальных -- это характерно для позднего и быстрого расширения в одном направлении. Причина возникновения индивидуализма лежит нихрена не в сборнике толкований христианского писания, а попросту в том, что в конкретном месте в конкретное время индивидуалисты лучше выживали и сытнее жрали, а остальные либо сменили мировоззрение вместе с религией, либо просто сдохли, сперва от неспособности конкурировать, а потом, кто покрепче -- в огне религиозных войн. Именно в такой последовательности, не наоборот.
Несомненно, узреть в евангелиях оду индивидуализму можно, если знать, куда смотреть, но знают это только протестанты: они специально искали.
Напоследок замечу, что человеческие учения, вроде конфуцианства или марксизма-ленинизма, обнаруживают куда лучшую способность перекраивать общества, нежели учения о сверхъестественном, вроде христианства. С принятием христианства менялись для населения только имена богов, да форма капища, реально что-то значащие последствия были сугубо политическими (например, православие, вернее, православнутость, стала одной из причин упадка Руси под властью Орды и после неё: Византия отделена землями врагов и вообще подыхает, а Рим, видите ли, символ веры неправильно читает, поэтому с ним даже торговать ни-ни, не говоря уже про учиться у них геометрии).
ответить
From Anonymous (unverified) Tue Oct 15 11:27:48 2024 UTC
Re: Re: Re: Насколько все плохо
Он ещё и от Microsoft оказывается. Я бы на месте Линуса в проект никого из мелкомягких за сто километров не подпускал после случая со Стивеном Элопом и Нокией. И кстати наверное это ещё и не первый такой случай, просто я про него хорошо знаю потому что сам Nokia N9 хотел прикупить.
ответить
From Artem (unverified) Mon Oct 14 10:58:58 2024 UTC
Re: Re: Re: Насколько все плохо
> орден
Орден это про войну и проповеди, в отдельных случаях про госуправление. Полузакрытые объединения ремесленников назывались цехами или гильдиями. Но это так, чтобы термины не смешивались. А то любит у нас народ сначала бездумно употреблять термины, а потом, как дойдёт до области оных терминов обращения, путать всё со всем.
Что-то мне подсказывает, что через века будет не орден и не гильдия, а нечто наподобие Культа Механикус из вархаммера.
ответить
From Andrey V. Stolyarov Mon Oct 14 11:37:49 2024 UTC
Re: Насколько все плохо
Про орден я согласен, только цех и гильдия — это тоже уж точно не про сохранение знания, это скорее про "не пущать".
Тут скорее подошло бы что-то вроде платоновской академии, но слово "академия" нынче затаскали и засалили до невозможности, плюс к тому появлению любой сущности со словом "академия" в названии неизбежно триггерит мысль вроде "опять какая-то очередная гопота решила обозвать друг дружку академиками".
Наверное, появится какое-то ещё слово.
ответить
From Artem (unverified) Mon Oct 14 12:24:12 2024 UTC
Re: Re: Насколько все плохо
Ну, в первые несколько столетий цеха таки служили именно сохранению знаний (когда почти никто не умеет читать и писать, по другому их не сохранишь и не передашь), и даже стратегия "не пущать" была жёсткой ровно настолько, чтобы вчера взявший в руки инструмент не мог сам себя назвать мастером, а обязан был заслужить признание от уже известных мастеров. Впоследствии, однако, стали именно тем самым.
ответить
From Anonymous (unverified) Sat Oct 12 13:39:31 2024 UTC
Re: Насколько все плохо
Не знаю как сейчас, а я заинтересовался самым низким уровнем программирования сам, когда книг ещё не существовало. Изучал fasm, структуру MBR и прерывания BIOS и никакие курсы веб-макак не сбили меня с пути. Правда BIOS больше нет, теперь там UEFI программирование под который, я так понимаю, не сильно отличается от программирования под какую-то ОС.
ответить
From Andrey V. Stolyarov Sat Oct 12 15:59:54 2024 UTC
Re: Re: Насколько все плохо
И что? Да, это возможно. Разумеется, мои книги не являются единственным в мире источником информации. Можете хотя бы самому себе объяснить, как это отменяет хоть один из тезисов исходного коммента?
ответить
From Anonymous (unverified) Sat Oct 12 18:20:57 2024 UTC
Re: Re: Re: Насколько все плохо
Я хотел сказать, что не всё безнадёжно и кому надо, тот найдёт.
На английском есть fasm manual, ralf brown interrupt list например.
Хакеров, способных работать с железом на самом низком уровне есть. Кто-то же пишет драйвера, портирует линукс на новые платформы и так далее.
Хотя не отрицаю, что прочитать один трёхтомник гораздо удобнее, чем искать информацию по десяткам разных ресурсов.
ответить
From Andrey V. Stolyarov Sat Oct 12 20:23:14 2024 UTC
Re: Насколько все плохо
> кому надо, тот найдёт
Это довольно очевидно. Когда я учился программировать, не было не только моей книжки (или чего-то на неё похожего), но и интернета, и поисковиков. Ничего, как-то справился. Проблема в том, что справляются не все.
ответить
From Максим Клочков Mon Oct 14 20:41:23 2024 UTC
Re: Насколько все плохо
> Проблема в том, что справляются не все.
Возможно, не там смотрим. По нынешним временам найти людей, которые своим умом дошли до понимания, "как что работает", проще всего среди схемотехников и ещё тех, кто занимается микроконтроллерами. Их сама жизнь заставляет периодически "спускаться с радуги" на уровень двоичной логики, побитовых операций, регистров, ячеек памяти, стека ограниченной глубины, и т. п.
А те, кого нынче учат в институтах/на курсах "на программистов", получают почти сразу в руки высокоуровневый инструмент типа питона, и дальше судьба их - всю профессиональную жизнь перекладывать данные из json в sql и обратно. Работа по интеллектуальности близка к работе на стройке - главное научиться делать аккуратно и не портить материал. И оплачивается примерно так же.
Есть ещё "датасайентисты" (не путать со "специалистами по ИИ") - среди них много умных парней и девчонок, которые иногда даже понимают, что делают. Но их программистами считать неправильно. Это - математики, с навыками написания кода на каком-либо языке. Они обычно не пишут отчуждаемый код, у них другие задачи. Тем не менее, их умение пользоваться собственным мозгом - IMHO повыше, чем у среднестатистического программиста в индустрии.
ответить
From Andrey V. Stolyarov Mon Oct 14 21:29:03 2024 UTC
Re: Насколько все плохо
Что-то меня и тут сомнения гложуть.
Начать с того, что лично я микроконтроллеры впервые потрогал в 2008 году, т.е. в возрасте 33 лет, будучи уже и состоявшимся программистом, и (бывшим) инет-админом, и к.ф.-м.н.'ом (правда, по философии степени ещё не имел, но это к делу не относится). Ну то есть учился я уж точно не на этом. Да я в них толком и не умею, точнее программировать AVR я вроде научился, но и всё, схемотехнику я так и не осилил.
Продолжить тем, что вот уж чего я никогда не встречал — это чтобы программиста изготовили в ВУЗе. Пнуть в нужном направлении, или там слегка подрулить, чтобы на выходе программист получился чуть более качественным — ну, такое бывает, да, но вот чтобы прямо взять и из не-программиста сделать программиста — я такого не только не видел, но и не могу себе представить. Не стану, впрочем, категорически утверждать, что не бывает. Просто я не видел.
Ещё дальше продолжить тем, что, увы, портить человеческий материал (пардон за цинизм) в ВУЗах умеют в среднем намного лучше и эффективнее, нежели таковой обрабатывать с пользой. Дурное дело нехитрое, увы. К тому же весь "современный" инструментарий — питон, го(вно), уЭб в широком смысле слова, а равно и всякая нечисть вроде раста, словом всё, что "стильно, модно, молодёжно" — такой порче весьма способствует.
Ну и последнее: датасатанисты, разумеется, не программисты, я уж даже и не знаю, кто их таковыми считает. Но вот прежде чем сравнивать их умение пользоваться мозгом с таковым у "среднестатистических" программистов, нужно сначала понять, включаем ли мы в выборку для определения этого "среднестатистического" всевозможных вебщиков, гошников, джавистов, котлинщиков, электронщиков (не тех, которые схемотехникой занимаются, а тех, которые на электроне "программируют"), один-эсников и т.п. Если включаем, то, конечно, у датасатанистов с мозгами получше, но это только потому, что из канавы падать затруднительно (хотя при определённой изобретательности возможно).
ответить
From Максим Клочков Tue Oct 15 16:22:43 2024 UTC
Re: Насколько все плохо
> Продолжить тем, что вот уж чего я никогда не встречал — это чтобы программиста изготовили в ВУЗе.
Бери шире и глубже - я вот, например, не видел, чтобы любого специалиста "изготовили" где бы то ни было. Приобретение профессионализма в любой области - это долгий путь через сомнения, муки и (виртуальное) биение головой об стену от осознания собственного ничтожества. Мой опыт показывает, что пройти этот путь будущий специалист может только сам, задача вуза здесь в основном создать какую-никакую "питательную среду".
Наверное, хорошим вузом в таком случае может считаться тот, где в среднем больше увлеченных преподавателей, которые пытаются не только отрабатывать часы, но и что-то исследовать, и больше студентов не с пустыми глазами, а с каким-то интересом к тому, чем занимаются.
> Ещё дальше продолжить тем, что, увы, портить человеческий материал (пардон за цинизм) в ВУЗах умеют в среднем намного лучше и эффективнее, нежели таковой обрабатывать с пользой.
Где-то уже читал такое, статье около 20 лет, и она стала ещё актуальнее. Т. к. катастрофа (или катастрофы) явно уже где-то рядом.
Вот статья: Пятое правило арифметики
Процитирую, пожалуй, фрагмент. "...вся система образования должна быть настроена на отбор, выращивание и дрессировку именно хороших исполнителей... Что же касается творческих личностей, то о них особенно беспокоиться не следует: тот, кто действительно талантлив, так или иначе все равно пробьется... Мне лично подобная точка зрения на развитое современное общество крайне несимпатична, но это отнюдь не значит, что она ошибочна. Мне кажется, что в подобной системе никакие таланты никуда не пробьются (просто потому, что их некому будет учить), и тогда люди, точнее, "роботы-исполнители" очень быстро разучатся строить "Великие пирамиды". Но, может, я и ошибаюсь..."
ответить
From Andrey V. Stolyarov Tue Oct 15 17:44:11 2024 UTC
Re: Re: Насколько все плохо
> я вот, например, не видел, чтобы любого специалиста "изготовили" где бы то ни было
Ну, учёных-то и прочих "академиков" в университетах делают худо-бедно. Конечно, с гигантской отбраковкой (вот у нас на курсе 340 человек было, ну хорошо если десятка полтора потом остались в академической среде), но хотя бы так.
Но "это другое" (tm). Ремесло постигается не в учебном заведении, а исключительно в мастерской, но если науку и преподавание рассматривать как ремесло, то для этого ремесла роль мастерской как раз и исполняет университет.
Кстати, спасибо за ссылку, я эту статью недавно искал и не нашёл.
ответить
From Artem (unverified) Tue Oct 15 16:51:49 2024 UTC
Re: Re: Насколько все плохо
> среди схемотехников
Из схемотехника программист -- как из сапога чайник. Они, конечно, пишут частенько код, но этот код абсолютно невозможно читать, он чисто для машины. Программист пишет всё же для чтения человеком, а не только компилятором. Может, и бывают исключения, и среди схемотехников водятся и нормальные программисты, но что-то мне сложно такого представить.
Ну вот на нашем направлении, кстати, в руки питон дают только на 3 курсе, а первые два идут плюсы. Чёт, знаете, хрен редьки не слаще. И схемотехника есть, прямо сейчас половина потока долбится в биполярные транзисторы (другая половина забила) и пытается из них собрать логический элемент в симуляторе. А толку?
ответить
From Andrey V. Stolyarov Tue Oct 15 17:38:58 2024 UTC
Re: Re: Re: Насколько все плохо
> Из схемотехника программист -- как из сапога чайник
Кстати, факт. Сколько я видел кода, написанного электронщиками — каждый раз хочется развидеть.
ответить
From nip (unverified) Wed Oct 16 09:20:08 2024 UTC
Re: Re: Re: Re: Насколько все плохо
Если позволите, про "рода" программистов любопытная статья на английском https://josephg.com/blog/3-tribes/
ответить
From Andrey V. Stolyarov Wed Oct 16 09:44:47 2024 UTC
Re: Насколько все плохо
Не вижу в этой статье ничего любопытного. Я не знаю, вебщик ли её автор, но риторика статьи именно такова.
В целом вредители — они и есть вредители. А мразь и есть мразь.
P.S. Тьфу, блджад, он ещё и Пайка обозвал автором Go. Я это даже не сразу заметил.
ответить
From Artem (unverified) Sat Oct 12 17:13:52 2024 UTC
Re: Насколько все плохо
> абсолютное большинство никогда не узнает даже про вашу книгу
А те, кто узнает, в большинстве своём не обратят внимания. А те, кто обратят, в большинстве своём дочитают до места, где говорится о необходимости поставить *nix, и отложат её до лучших времён, то есть, навсегда, вернее, на никогда.
Спрос ведь рождает предложение, не наоборот. Огромное предложение "царских" путей, за которыми и остальных не видно, происходит из огромного на них спроса.
ответить
☞ From Rand_dude (unverified) Sun Oct 6 16:21:41 2024 UTC
Вопрос по ассемблерной части
Как долго следует останавливаться на ассемблерной части? Я имею в виду именно в контексте практики, когда теория уже прочитана и в какой-то мере усвоена. Видел, что вы писали, что на паскале следует около года сидеть для новичков. А что скажете на счет ассембли? Следует ли писать проекты до тех пор, пока не начнешь думать на этом языке или достаточно понять главные концепты?
ответить
From Parthen Sun Oct 6 16:47:03 2024 UTC
Re: Вопрос по ассемблерной части
Да и хорошо бы в одном месте (FAQ, например) собрать информацию когда и после чего можно переходить к следующему тому.
Информация где-то на сайте была, но она разрознена и найти ее сложно
ответить
From Andrey V. Stolyarov Sun Oct 6 16:50:22 2024 UTC
Re: Вопрос по ассемблерной части
Это не так просто, как может показаться. Общаясь с учеником, я всегда могу сказать, можно уже дальше двигаться или нет, но писать инструкцию для самостоятельного принятия такого решения, пожалуй, не возьмусь.
ответить
From Parthen Sun Oct 6 16:58:08 2024 UTC
Re: Re: Вопрос по ассемблерной части
А по времени (примерно)? Мол, на Паскаль обычно уходит полгода, на Си год и вот в таком духе.
Чайка в интервью говорил вообще про полгода на всю книгу, я так понимаю
ответить
From Andrey V. Stolyarov Sun Oct 6 17:08:08 2024 UTC
Re: Вопрос по ассемблерной части
Полгода на всю книгу — это, конечно, ахинея. Остальное зависит от начального уровня. Если полностью с нуля — то на постижение основ (т.е. паскалевскую часть) уйдёт примерно год, возможно чуть меньше. Теоретически могу себе представить полгода, но это разве что если мотивация на грани фанатизма и заниматься только этим. На ассемблер нужно два-три месяца (опять же, всё индивидуально), на Си как таковой — три-четыре месяца, на весь второй том — зависит от выбранной глубины погружения, я бы сказал, что от полугода до года, и лучше дольше — например, написать на чистом Си какую-нибудь серьёзную сетевую приблуду.
Сколько нужно на третий том, сказать невозможно в принципе. От полугода до всей жизни.
ответить
From Anonymous (unverified) Mon Oct 7 12:16:17 2024 UTC
Re: Re: Вопрос по ассемблерной части
А если более типичная ситуации, вроде того что в школе уже проходил паскаль, без особых проблем решал задачки уровня сортировки пузырьком, но потом несколько лет ничем этим не пользовался и всё забыл?
ответить
From Andrey V. Stolyarov Mon Oct 7 14:06:13 2024 UTC
Re: Вопрос по ассемблерной части
Я ни разу не видел, чтобы в школе, даже продвинутой, всерьёз изучали указатели, работали со списками и деревьями. Более того, я даже в ВУЗах не видел, чтобы при изучении Паскаля, даже если при этом указатели и списки изучаются, фигурировала операция взятия адреса и использовалась адекватная терминология. И уж чего точно не происходит в школах — так это жёсткого акцентирования внимания на различии между процедурами и функциями и вредоносности побочных эффектов.
Так что в большинстве случаев можете забыть, что вам там в школе про Паскаль рассказывали, и считать, что ничего не было.
ответить
From Василий Ильич (unverified) Sun Oct 6 18:13:24 2024 UTC
Опыт тормоза
> Паскаль обычно уходит полгода
Я лично на Паскале два года примерно провёл (много времени на самом деле ушло на освоение Linux. Сколько времени я угрохал, чтобы заставить Lubuntu сначала в tty запускался, чтобы я мог давать заветное startx при запуске "прям как в книге". Хотя, в итоге, большую часть времени провёл в tty режиме.), пока не написал программку на 2к строк с использованием CSV, в которую было бы интересно хотя бы немного поиграть не мне, а целому ряду лиц. :-)
Далее месяц ассемблера (в основном практика, сначала на бумажке пока ехал в общ. транспорте, потом забивал в компьютер), самая большая программа 130 строк. Кому-то на форуме задачку помогал решить. Там был как и ввод, так и вывод. Про FFU читал, но руками пока не трогал.
Сейчас болтаюсь между Си и ассемблером. На Си просто решаю задачник, чтобы "набить руку". С ассемблером тут всплывала тема, что под ардуино можно писать на AVR. Только недавно смог найти хоть какую-то нормальную информацию на эту тему и делаю первые успешные шаги. Буду совмещать оба языка.
В сторону Си++ даже не смотрю.
В идеале, хочется с OpenGL поработать, но тут, как я понимаю, без рисования окошечек нельзя, поэтому пока только "навожу справки". Тут когда-то проплывала ссылка на сайт, где какой-то человек писал игры принципиально на plain C. Недавно искал, но не смог найти. :'( Если кто скинет, буду очень рад!
ответить
From Parthen Sun Oct 6 18:24:17 2024 UTC
Re: Опыт тормоза
>Тут когда-то проплывала ссылка на сайт, где какой-то человек писал игры принципиально на plain C
https://jonathanwhiting.com/writing/blog/games_in_c/
ЧСХ, писать на Си ему ума хватает, а билд под Линукс сделать нет. Но он хоть идиотских технологий не использует, Steam умудряется через Proton без проблем запускать.
EDITED: Вообще я сейчас снова посмотрел и для некоторых игр билды есть, но по какому принципу они выложены - непонятно.
ответить
From Василий Ильич (unverified) Sun Oct 6 19:56:08 2024 UTC
Благодарность
Спасибо, это оно!
ответить
From Василий Ильич (unverified) Sun Oct 6 20:19:43 2024 UTC
Re: Re: Опыт тормоза
Блин, облом. Я быстро просмотрел и единственная игра с открытым исходным кодом -- коносольная. Всё что с графикой -- проприетарщина. А всё затевалось, чтобы посмотреть как работа с графикой была организована.
> Steam умудряется через Proton без проблем запускать.
По моим наблюдениям, он сейчас все игрушки умеет запускать. При том "Non-Steam" тоже, если их не надо крякать.
> по какому принципу они выложены - непонятно.
Как я понимаю, там 3 категории:
ответить
From Parthen Sun Oct 6 20:57:31 2024 UTC
Re: Re: Re: Опыт тормоза
>Я быстро просмотрел и единственная игра с открытым исходным кодом -- коносольная
Если вы про SunkCoast - то она не консольная, там открывается окошко и в нем уже рисуется а-ля консольный рогалик.
Более того, билд на сайте зависит от старых версий библиотек, которых в Arch Linux у меня нет ваааще, даже в Arch User Repository. Ну я че, скачал с гитхаба исходники, там уже поправили, но там другая проблема - в двух разных файлах глобально объявлена _resolution, из-за чего линкер не может все это собрать.
И фиксится это буквально одним словом const. Автору я отправил pull request, но кто знает когда его примут. Будете собирать - вот здесь (https://github.com/ParthenGithub/SunkCoast) можете пропатченную версию скачать.
Ну или сами поправьте, это не сложно (https://github.com/ParthenGithub/SunkCoast/commit/a29e4b53aa6908072e82ac548538cad06425e609)
ответить
From Artem (unverified) Sun Oct 6 21:51:12 2024 UTC
Re: Re: Re: Опыт тормоза
> "Non-Steam" тоже, если их не надо крякать
Прекрасно крякалось всё, до чего у меня доходили руки. У него проблемы запуска сейчас разве что с играми, в которые никто не играет.
Однако запускать != нормальной работе. А в онлайнках злые античиты запросто могут выписать бан за такое надругательство над представлениями разработчиков о прекрасном. Но с кряками это всё не связано, что не работает с кряком, не работает и с лицензией.
ответить
From anonymous (unverified) Sun Oct 6 18:33:15 2024 UTC
Re: Опыт тормоза
Возможно, это была вот эта статья https://jonathanwhiting.com/writing/blog/games_in_c.
ответить
From Василий Ильич (unverified) Sun Oct 6 19:56:30 2024 UTC
Благодарность
И вам спасибо!
ответить
From DrvPtr (unverified) Fri Oct 11 12:30:57 2024 UTC
Re: Опыт тормоза
>человек писал игры принципиально на plain C
Возможно не по теме, но я в тренировочных целях сделал софтверный рендер 3d моделек на С и Xlib (там есть эксперементальный модуль для вывода средствами winapi, но он скорее для проверки портируемости). https://github.com/drvptr/CrimewareRender. Можно простую бродилку сделать. Уже почти игра, получается на чистом С.
ответить
From Andrey V. Stolyarov Fri Oct 11 13:45:44 2024 UTC
Re: Re: Опыт тормоза
вы тоже не знаете, что такое "пустая строка"?
ответить
From Andrey V. Stolyarov Sun Oct 6 16:47:29 2024 UTC
Re: Вопрос по ассемблерной части
На асме нужно "что-то сделать". Мало-мальски серьёзных этюдов в задачнике нет, так что придётся выдумать заморочку самостоятельно. Из обязательного — прямое использование системных вызовов (в том числе для чтения и записи в файлы), аргументов командной строки, подпрограмм с полноценными стековыми фреймами. Ну и общий объём этюда — от тысячи строк (это тоже условно, просто чтобы понятно было, на что ориентироваться).
Проскочить, конечно, можно намного быстрее, чем этап Паскаля. На Паскале ставится почерк и вырабатываются полезные привычки, это долгая история. На асме нужно просто "поймать" ощущение, как это всё выглядит на самом деле, а не сквозь семантику высокоуровневых языков.
ответить
From nasm (unverified) Mon Oct 7 12:29:41 2024 UTC
Re: Вопрос по ассемблерной части
Можно обойтись без готового ассемблера на этом этапе? (если отступить от книги)
Накодить прямо в отладчике соответствующие инструкции, которые всё это делают:
Или сгенерировать их своей программой, написанной на знакомом языке программирования, и записать в файл (исполняемого) объектного модуля?
ответить
From Andrey V. Stolyarov Mon Oct 7 14:02:16 2024 UTC
Re: Re: Вопрос по ассемблерной части
Простите, что за бред вы несёте? Как можно обойтись без ассемблера при изучении ассемблера?
ответить
From ABTOKOD (unverified) Mon Oct 14 11:25:22 2024 UTC
Re: Вопрос по ассемблерной части
Пока не ощутишь, что готов называть это просто асмом ;)
ответить
☞ From Anon (unverified) Sun Oct 6 02:56:53 2024 UTC
Ноутбук для Linux
Господа, подскажите какой ноутбук лучше выбрать чтобы без лишнего мусора (как хард так и софт-верного в виде дров) для того чтобы линукс поставить?
Нужна рабочая лошадка с хорошей батареей. Собираюсь легковесную связку использовать Arch + IceWM без поигрулек, сложной работы с медиа и т.д.
ответить
From Andrey V. Stolyarov Sun Oct 6 09:00:43 2024 UTC
Re: Ноутбук для Linux
Любой, который вам ваши знакомые отдадут за бутылку пива или пакет сока.
ответить
From Artem (unverified) Sun Oct 6 11:30:01 2024 UTC
Re: Ноутбук для Linux
> рабочая лошадка с хорошей батареей
Какой-нибудь старый нетбук, или, если надо экран побольше, что-нибудь из серии Thinkpad (тоже старые, лет так 15 минимум) или им подобных. Браузер на таком ворочаться будет, однако, крайне неохотно. И аккум наверняка будет дохлый, но тут лотерея, особенно если прежний владелец додумался его однажды поменять (насколько я знаю, нормальные аккумуляторы отдельно не продают, разве что самому покупать банки, тестировать их, отбраковывать, и подключать к контроллеру, рискуя при этом увалить его в защиту, из которой он уже не выйдет, потому что конь в ванне с огурцами).
Если же хочется не б/у, а новое, то сложно что-то предлагать, оно чем новее, тем меньше под ваши требования что-то найти. Но как минимум надо искать модели с предустановленным Linux, либо идентичные таким по материнской плате, иначе наверняка что-то да не будет работать.
ответить
From Parthen Sun Oct 6 12:31:38 2024 UTC
Re: Ноутбук для Linux
Thinkpad.
Дополнительно вот гайд https://github.com/ThinkPadThink/Thinkpadthinkpad#%D0%90-%D0%BA%D0%B0%D0%BA%D1%83%D1%8E-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C-%D0%BC%D0%BD%D0%B5-%D0%BB%D1%83%D1%87%D1%88%D0%B5-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C
ответить
From lxV (unverified) Mon Oct 7 05:30:45 2024 UTC
Re: Re: Ноутбук для Linux
Поддерживаю.
Какой-нибудь старенький x200, который ещё без IntelME, без тачпада, чтобы не мешать рукам во время печати, ну и сама клавиатура у него тоже что надо, как говориться :) Пользуюсь уже много лет, даже самому чинить его относительно легко, покупка на века.
ответить
From Anonymous (unverified) Tue Oct 8 09:12:31 2024 UTC
Re: Re: Re: Ноутбук для Linux
У x200 вообще-то есть IntelME, но в отличии от более новых моделей он работает даже если регион ME в чипе просто вайпнуть, или лучше заменить на libreboot полностью всё.
ответить
From Artem (unverified) Tue Oct 8 15:47:18 2024 UTC
Re: Re: Re: Re: Ноутбук для Linux
Что хорошо в любых Thinkpad - о них в сети куча инфы. Про обычный массовый лэптоп и четверти нужной информации найти невозможно. На вопросы типа <<есть ли ME>>, <<можно ли стереть регион ME>>, <<настраивается ли то>>, <<работает ли в линуксе сё>> и так далее, ответ почти для всех моделей почти любого производителя один: хрен его знает.
ответить
☞ From anon (unverified) Sat Oct 5 01:19:12 2024 UTC
Нормальный браузер нашелся. Наверное...
В общем, довелось мне наткнуться вот на это: https://www.netsurf-browser.org/
Похоже что у них есть потенциал, ребят внесли в списки славы на suckless.org. В доках у себя на сайте пишут что внедрили HTML4 и CSS2, и javascript отключен по умолчанию.
Помню тут была где то ветка обсуждения джаваскрипта в конечных автоматах. Возможно стоит им подкинуть идею.
ответить
☞ From RoadHog (unverified) Fri Oct 4 18:48:10 2024 UTC
Программы для потных программистов
Андрей Викторович, нахожусь сейчас на середине второго тома, уже написал на С почти все программы, которые приносят пользу лично мне + заменяют функционал сторонних программ, которые я ранее использовал. Но эти программы на самом деле очень маленькие и не слишком сложные. И вот нет у меня ощущения, что познал computer science. Есть ли у вас рекомендации по программам (помимо задачника), которые стоило бы написать, чтобы закрепить фундамент знаний из вашей книги. И я сейчас не про программы для новичков, а вот именно что-то гораздо более серьезное. Написать игровой движок, например, подходит под это описание, по-вашему?
ответить
From Andrey V. Stolyarov Fri Oct 4 18:57:22 2024 UTC
Re: Программы для потных программистов
Подходит, почему бы и нет. На самом деле как раз задачник-то не особо подходит, это так, от безысходности разве что. А так вам нужно что-то такое, что пишется с целью последующего практического применения (в отличие от задач, которые решаются ради самого процесса решения) и в чём количество строк измеряется тысячами.
ответить
From Parthen Fri Oct 4 19:37:06 2024 UTC
В тему
Знает кто-нибудь ресурсы с объяснением геймдевной математики от А до Я?
Я пытаюсь вот это (http://infoviolence.org/ytid.cgi/sWtyOhdf3DE) повторить и все мои пробелы в ВУЗовской математики вскочили довольно плотно. Векторы простенькие, они понятные, а вот в матрицах я плаваю.
ответить
From Ilya Fri Oct 4 20:31:54 2024 UTC
Re: В тему
Похоже поганый гугл таки убил Invidious, у меня из всех инстанций, успешно воспроизводит только одна, и то через раз.
ответить
From Andrey V. Stolyarov Fri Oct 4 20:35:09 2024 UTC
Re: В тему
Там они по очереди отваливаются, и пока хозяева одной инстанции её чинят, можно пользоваться другой. Я специально для таких вещей ytid сделал :-) Конкретно сейчас выбираю инстанс, жму "save the choice", потом уже прыгаю смотреть. Если не работает, жму Back, выбираю другой инстанс. На том, который заработал, остаюсь, пока его опять колбасить не начнёт.
ответить
From Parthen Fri Oct 4 20:46:22 2024 UTC
Re: Re: В тему
Я хотел свой развернуть, но там какая-то совсем уебищная инструкция с докером. Не осилил, хоть и VPS-ка на убунте, родная среда для всего этого "инструментария"
ответить
From Andrey V. Stolyarov Fri Oct 4 21:01:35 2024 UTC
Re: В тему
Не, этого я даже не пытался. Там за километр вебмакаками пасёт.
ответить
From Ilya Fri Oct 4 20:57:01 2024 UTC
Re: Re: В тему
Да согласен, удобно. Вообще удивительно как до сих пор хоть что то работает, там же белые айпишники торчат, могли перебанить их уже давно.
ответить
From Andrey V. Stolyarov Fri Oct 4 21:02:54 2024 UTC
Re: В тему
Насколько я понимаю, там они как раз ip-адреса, видимые для тюбика, меняют то и дело. Плюс некоторые из них вообще с тюбиком общаются через IPv6.
ответить
☞ From Oliver (unverified) Mon Sep 30 14:02:49 2024 UTC
Блок-схемы
Добрый день, Андрей Викторович! Я не помню уж, был ли разговор на данную тему, и если был, прошу заранее извинить мой склероз! Меня интересует Ваше мнение по поводу рисования блок-схем на уроках по программированию перед тем, как детей познакомить с самим написанием програм: на сколько от них есть толк по-Вашему?
ответить
From Andrey V. Stolyarov Mon Sep 30 14:06:10 2024 UTC
Re: Блок-схемы
Ну, толку-то, конечно, никакого нет, но я подозреваю, что это не из-за блок-схем, а из-за самих уроков информатики. Как этому учить незаинтересованную толпу, каковой является любой школьный класс — никто не знает (я, заметим, тоже не знаю), плюс к тому учителя информатики обычно либо не умеют программировать (когда это учитель), либо не умеют учить (когда это несостоявшийся программист, строящий из себя учителя).
ответить
From Василий (unverified) Tue Oct 1 06:50:51 2024 UTC
Re: Re: Блок-схемы
Непрошеное мнение.
Мне тут недавно удалось заняться репетиторством в одном кружке - преподавать основы программирования детям 7-11 классов.
Удивительно много людей в таком возрасте упираются в каменную стену в виде примерно следующей задачи. Программе на вход даётся два числа А и Б, программа должна вывести прямоугольник из звёздочек размера АхБ.
Работаю два месяца с несколькими группами, и приобрёл нижеследующую глубокую убежденность: вся эта педагогика и психология - это, конечно, всё круто, наверное, но на человека, который решает что-то подобное полчаса, принципиально не стоит тратить силы и время. Крест я ни на ком не ставлю, но рекомендую попробовать ещё раз сильно попозже. Через полгода-год.
Перед этим объясняется задача вывода в консоль квадратика из звёздочек размером nxn. И бывает, что с задачей про прямоугольник проблема возникает не в понимании вложенного цикла, а в том, что они не догадываются, что надо прочитать из потока ввода два числа, а не одно, как в предыдущей задаче.
Аж глаз дёргается иногда. И нет, я не настолько ужасен, как учитель, есть у меня и способные ребята.
Добавить к этому ребят, которые пришли "понюхать" дисциплину, и за пару месяцев решительно на нашли время хотя бы на чертов виндовс дома компилятор поставить, не то что убунту хотя бы в виртуалку установить. Впрочем, иногда со вздохом им предлагаешь хотя бы в онлайн компилятор залезть и написать дома хоть одну строчку кода - но и этого с этими людьми не случается, но при этом они упорно продолжают ходить на кружок и верить, что можно чему-то научиться, просто просиживая штаны.
В общем, веры в педагогические технологии здесь у меня нет. Я тоже ответа на вопрос, как замотивировать, не знаю - но и знать не хочу. Незаинтересованный в знании его недостоин, и тем паче недостоин того, чтоб на него время вообще тратили.
Насчёт умения и неумения учить у меня тоже сложилось мнение. Проблема существует, но лично я отказываюсь признать ее существование на самых базовых темах. Когда человек неспособен понять, что такое переменная (вот просто наглухо не даётся ему вообразить эту концепцию ни в каком виде) - или что в задаче, где требуется прочитать два числа, надо, собственно, прочитать два числа - дело вообще не в учителе и не в плохих или хороших книжках и вообще ни в чем. Разруха, как говорится, не в клозетах.
ответить
From Andrey V. Stolyarov Tue Oct 1 07:57:57 2024 UTC
Это всё не про то
Тут нет ничего нового, обыкновенный алгоритмический кретинизм. У большинства особей homo просто нет той части мозга, которая отвечает за визуализацию исполнения программы с течением времени. И тут, разумеется, дело не в том, что лично вы якобы чего-то не умеете, как раз наоборот — те, кто не умеют, ухитряются в упор не видеть самого факта существования вот этого вот алгоритмического кретинизма, и не просто существования, а его распространённости на подавляющее большинство "сырого материала".
Когда я упоминаю тех, кто не умеет учить, я имею в виду людей, не умеющих обращаться с учениками, уже прошедшими отсев по признаку алгоритмического кретинизма.
А насчёт "научиться, просиживая штаны" — ну, понимаете, учиться тоже надо уметь. В школе этот навык не даётся, даже в ВУЗах не всегда. А дальше люди, пришедшие в кружок, очевидным образом делятся на тех, кто пришёл, потому что нравится предмет, и тех, кто пришёл, потому что нравится идея стать таким крутым чуваком, который владеет предметом. В применении к нашему предмету — на тех, кому нравится программировать и на тех, кто хочет когда-нибудь получать программистскую зарплату. Среди этих последних ещё выделяется слой тех, кому вообще-то даже на это в глубине души плевать, просто мама с папой запинали.
Кому программирование нравится как процесс независимо от будущей зарплаты, тем компилятор только в руки дай. А не дашь — сами возьмут, ещё и с куском руки оттяпают.
ответить
From Artem (unverified) Tue Oct 1 10:18:37 2024 UTC
Re: Это всё не про то
Наверное, не в тему, но хочу спросить: это нормально, что спустя несколько лет программирования (не на работе, сначала для своих нужд, потом в универе) приходится заставлять себя запустить компилятор хотя бы для того, чтобы сделать простейшую (тупо сделать пару системных вызовов) практику для универа? Ни о каких своих проектах речи даже не идёт, идеи есть, но ни строчки кода нет. Раньше мне программирование нравилось, а теперь стало какой-то, не знаю, рутинной и раздражающей необходимостью, от которой хочется избавиться, как мытьё посуды, и даже учить в этой области что-то новое нет желания, разве что на уровне голой теории, умственных построений и выкладок на клочке бумаги. Это нормально, или мне надо таблетки жрать, или это просто не моя сфера деятельности?
ответить
From Andrey V. Stolyarov Tue Oct 1 10:54:00 2024 UTC
Re: Это всё не про то
Это может быть просто выгорание. У меня так бывало, хотя, наверное, не до такой степени. Причём не обязательно выгорание именно от программирования, просто общее психологическое переутомление.
Ну то есть я не уверен, что это именно оно, но точно знаю, что так бывает, вот прямо-таки на собственном опыте.
ответить
From Anonymous (unverified) Wed Oct 2 06:46:53 2024 UTC
Re: Это всё не про то
Кстати, про выгорание. Автору исходного коммента можно посоветовать на более-менее длительное время (если это возможно, конечно - работодатели/преподаватели не всегда готовы это время дать) переключиться на другой вид деятельности. Ну там в отпуск съездить или в какой нибудь поход сходить, где вот точно никаких компьютеров и интернетов нет. Реально ведь бывает, что одно и то же (в случае автора - программирование) видишь кучу лет, и оно просто уже в печенках сидит. А от смены деятельности перезагрузка будет, и жить чуть легче станет.
ответить
From Andrey V. Stolyarov Wed Oct 2 16:04:32 2024 UTC
Re: Это всё не про то
Я в своё время спасался парашютными прыжками. Потом ногу сломал, но к тому времени у меня программирование за деньги осталось далеко в прошлом.
ответить
From Eduard (unverified) Wed Oct 2 03:36:55 2024 UTC
Re: Re: Это всё не про то
У меня так же временами бывает. Иногда не получается реализовать задуманное (впринципе всегда сидя за экраном нормальных решений не приходит в голову), но потом, немного отвлекшись, приходит решение задачи. И это решение потом живет у меня в голове пару-тройку недель, я уже знаю что написать, но руки просто не хотят открывать этот исходник - лень. Но в один день, не заставляя себя, а с диким интересом сажусь и выкладываю всё что накопилось, скармливаю это всё gcc, получаю готовый бинарник. Конечно, работать так не прокатит, там желателен ежедневный прогресс, но я пока и не считаю себя программистом.
ответить
From Parthen Thu Oct 3 09:48:43 2024 UTC
Re: Это всё не про то
В началалке, по новым програмам ФГОСов, нам на уроки математики привезли какие-то рабочие тетради, в которых по заданиям надо было рисовать блок-схемы. По сюжету там был какой-то робот, которому надо было объяснить как сготовить суп, сложить вещи и т.п.
И все вроде было бы хорошо, пока схемы были "прямые". Как только начались ветвления, циклы, условия успешно выполнять задания смогли только 2-3 человека из класса, включая меня. Учительница по итогу это дело быстро забросила.
Программистом, как и волшебником, видимо можно только родиться.
ответить
From Andrey V. Stolyarov Thu Oct 3 13:04:23 2024 UTC
Re: Это всё не про то
Да ладно, прям сразу программистом.
Я когда учился в школе, не осилил школьные расчётные задачи по химии на выход реакции. Ну вот не понимал я смысла всех этих молярных масс, "количества вещества" и прочих величин, которые там фигурируют. Но это не потому, что химиком можно только родиться. Это исключительно потому, что учительница химии была, пардон, дура. И к тому же самодур (не знаю, можно ли адекватный феминитив придумать). Как показал мой дальнейший жизненный опыт, мне не хватало ровно одной фразы: что "моль" может быть не только вещества, а вообще-то хоть кирпичей, только это будет сильно до фига кирпичей. Если у учителя не нашлось для ученика такой фразы, это не учитель, это недоразумение. И рождаться химиком мне для этого было совершенно не обязательно.
Впрочем, если вы попробуете со своими тогдашними одноклассниками пообщаться на тему таких вещей, которые с вашей точки зрения знать должен вообще каждый, потому что это же само собой разумеется — то вы, возможно, удивитесь.
ответить
From Parthen Thu Oct 3 19:40:17 2024 UTC
Re: Re: Это всё не про то
>Впрочем, если вы попробуете со своими тогдашними одноклассниками пообщаться на тему таких вещей, которые с вашей точки зрения знать должен вообще каждый, потому что это же само собой разумеется — то вы, возможно, удивитесь.
Как-то не распарсил как это относится к остальной части комментария
ответить
From Andrey V. Stolyarov Thu Oct 3 20:02:12 2024 UTC
Re: Это всё не про то
Ну просто мы склонны переоценивать возможности людей, с которыми общаемся. Вы вот видели, что они не могут (типа, неспособны) рисовать простенькие блок-схемы, но вас может несколько удивить, когда вы поймёте, на что ещё они не способны. Например, 23 умножить на 10 без калькулятора — наверняка найдутся несколько человек, которые не могут.
ответить
From Anonymous (unverified) Sun Nov 17 07:47:38 2024 UTC
Re: Re: Это всё не про то
Мне недавно попался человек, которому я рассказал про эхиннококков и он с уверенным видом заявил "эхиннококков не существует"
ответить
From Andrey V. Stolyarov Sun Nov 17 08:54:50 2024 UTC
Re: Это всё не про то
Вот уж это вообще не имеет отношения к делу: если человек отказывается верить в то, чего не видит, это само по себе о его интеллектуальных способностях не говорит буквально ничего.
К тому же обсуждалось не так давно.
ответить
From Anonymous (unverified) Tue Oct 1 11:57:58 2024 UTC
Re: Re: Re: Блок-схемы
Я тут чуток, чтобы размяться попробовал:
Потратил на написание 8 минут, от открытия пустого файла до работающего кода. Наверное это много, но большую часть времени съела отладка. Если конкретно, то перепутал порядок i++ и i
ответить
From Andrey V. Stolyarov Tue Oct 1 12:36:16 2024 UTC
Re: Блок-схемы
У меня как-то случай был, я в очередной раз проводил первую контрольную в "сишном" семестре, на этих контрольных я всегда давал задачу на анализ стандартного ввода (типа, читаем текст посимвольно, после завершения каждой строки печатаем длину самого длинного слова в ней), на анализ строк (получаем аргументы командной строки, печатаем те их них, которые кончаются буквой q) и на односвязный список (читаем целые числа из стандартного ввода, после "конца файла" выдаём те из них, которые встретились ровно три раза). Как-то раз один студент на все эти три задачи потратил 24, что-ли, минуты. Ну, я студентам говорю, мол, у вас целиком вся пара на эти три задачи, но вообще вот рекорд 24 минуты.
А мне контрольную проводить помогал один мой аспирант. Ну он это услышал, схватил бумажку с заданием, уселся за комп — и только клавиатура трещит. В общем за 18, если не ошибаюсь, минут он их сделал. Ну я ему и говорю, ага, круто: аспирант третьего года обучения порвал несчастных второкурсников на британский флаг.
Между прочим, программа, в которой не анализируется значение, возвращаемое функцией scanf, годится только в /dev/null. Короче, нашли чем хвастаться.
ответить
From Василий (unverified) Tue Oct 1 16:18:30 2024 UTC
Re: Re: Re: Re: Блок-схемы
Как-то весело оттого, что кого-то я своей задачей про прямоугольник сподвиг потренироваться :))
Если честно, я не уверен, что время решения этой задачи играет какое-то значение. Тут я хочу сразу сказать, что я не программист, а скромный учитель физики, и в кружке я преподаю основы программирования на FreePascal под Linux. Недавно появилось немного свободного времени, и за это время я почти что освоил Паскаль в объеме второй части 1 тома. Предложили вести кружок, поскольку больше некому было, и я подумал - попытка не пытка, вдруг получится.
В общем, языка Си я не знаю, но, надеюсь, в скором времени по книжкам А.В. я его освою. Не знаю, что в Си такого, что решать эту задачу нужно какое-то там время, а в Паскале для меня она решается в линейной зависимости от моей скорости печатанья. Само утверждение "решил задачу Х за N минут" для меня звучит как то, что на решение этой задачи ушли какие-то мысленные усилия, на которые было потрачено сколько-то из этих минут. Для задачи с прямоугольником, если использовать FreePascal, никаких мысленных усилий не требуется.
Причем не только для взрослого человека в относительном расцвете умственных способностей. Те дети, которые сразу ухватили суть вложенных циклов, тоже решают задачу про вывод прямоугольника почти мгновенно. В среднем минут 15-20 от пустого файла до исполняемого уходит у способного ребенка, но тут я сделаю важное уточнение: я оборудовал компьютерный класс убунтами, и, на одном из кружковых занятий, на котором я рассказываю, как пользоваться компьютером, я показал им оконный менеджер i3. Сам пользуюсь этим уже несколько лет - начал задолго до того, как научился хоть чуть-чуть программировать. Впервые учиться его использовать так же неприятно, как впервые учиться использовать vim, но, если освоить, то, на мой личный вкус, эргономика у него почти непревзойденная.
В общем, я надул щёки и с важным лицом заявил, что пользоваться можно чем угодно, но большие и страшные настоящие программисты используют именно что-то подобное. Дети малые мне обычно верят и пытаются пользоваться i3. На самом деле, конечно, я сказал им неправду, но это такая грязная военная хитрость. Все дело в том, что i3 обладает двумя важными с педагогической точки зрения достоинствами: 1) он из коробки хорошо выглядит (некоторые малые дети не любят, например, IceWM, потому что из коробки он некрасивый и его внешний вид надо донастраивать), и 2) - кроме отрисовки окон он почти ничего больше не делает и заставляет пользователя абсолютно всё делать исключительно из терминала. Никаких графических кнопок и меню.
Так вот, обычно к моменту, когда я требую от способного школьника написать задачку с выводом прямоугольника, обычно у него ещё навыки работы и с терминалом, и с i3 сформированы достаточно плохо. И львиную долю времени из 15 минут он обычно тратит на то, чтобы открыть терминал, затем текстовый редактор, затем обнаружить, что текстовый редактор занял терминал, вспомнить, как перевести программу в фоновый режим, затем ещё какое-то время уходит на создание отдельных каталогов для программы и иногда ее модификаций (способные ребята иногда хотят вывести пустой внутри прямоугольник, например) и лазанье по этим каталогам; потом иногда тратится время на то, чтобы вспомнить, как в i3 перемещать окна, менять всякие режимы их отображения, закрывать ненужные и всё в этом духе, затем программу наконец начинают писать и компилировать.
Со стороны выглядит долго, но я обычно прогуливаюсь за спинами учеников и наблюдаю за работой - и могу решительно утверждать, что почти всегда у способного ребенка эта жалкая задачка не вызывает особых мысленных усилий. Время написания зависит от скорости печати и скорости приведения написанной программы в правильный стилистический вид. Никаких ошибок в самом алгоритме обычно не допускается, только чисто синтаксические.
ответить
From Parthen Tue Oct 1 17:39:48 2024 UTC
Re: Re: Re: Re: Re: Блок-схемы
>FreePascal
>Linux
>i3
>vim
Блин, мое уважение. Мне бы такого учителя в школьные годы :)
ответить
From Anonymous (unverified) Wed Oct 2 07:54:58 2024 UTC
Re: Re: Re: Re: Re: Блок-схемы
> Если честно, я не уверен, что время решения этой задачи играет какое-то значение.
Точное значение в секундах — нет, а вообще, разница между затратить весь урок или несколько минут — да.
> для меня звучит как то, что на решение этой задачи ушли какие-то мысленные усилия, на которые было потрачено сколько-то из этих минут.
Ну, смотря что считать мысленным усилием.
> Для задачи с прямоугольником, если использовать FreePascal, никаких мысленных усилий не требуется.
Три минуты от пустого файла до работающей программы, ещё пара минут чтобы сделать прямоугольник пустым. Да, пожалуй для написания кода на паскале думать надо несколько меньше.
Из ошибок = вместо := в for, затем отсутствие скобок в условии if. Интересно, почему в паскале не могли назначить операциям сравнения чисел больший приоритет чем логическим?
ответить
From Robert (unverified) Thu Oct 3 18:33:45 2024 UTC
Re: Re: Re: Re: Re: Re: Блок-схемы
> Интересно, почему в паскале не могли назначить операциям сравнения чисел больший приоритет чем логическим?
Насколько я понимаю, дело не в приоритете. Дело в том, что в Паскале логические операции И/ИЛИ и побитовые операции И/ИЛИ обозначаются одними и теми же ключевыми словами. Поэтому, когда компилятор видит "or" или "and" между, например, целочисленными операндами, он воспринимает это не как логическую, а как побитовую операцию.
ответить
From Oliver (unverified) Fri Oct 4 15:00:34 2024 UTC
Re: Re: Re: Блок-схемы
> вся эта педагогика и психология - это, конечно, всё круто, наверное, но на человека, который решает что-то подобное полчаса, принципиально не стоит тратить силы и время.
Я верю, что, мягко говоря, не все ученики могут понять вложенные циклы с ходу. Но мое мнение, что списывать ребенка со счетов только потому, что он решает что-то дольше по времени нежели определенный учитель считает, - в корне не верно. Ведь проблема может быть не только в детях, а в том, что вот определенному ребенку определенный учитель не смог обьяснить так, чтобы тот смог задачу решить за 10 минут. Или определенному ребенку на то, чтобы понять конктерную тему надо больше времени нежели определенный учитель считает. Я задал вопрос по блок-схемам потому, что моего в школе начали учить их рисовать, прежде чем учить программировать. И там была совсем конкрентая ситуация: учитель в школе рисование блок-схем обьяснял так, что ЛИЧНО мой малой не все мог понять. Не говорю, что он обьяснял плохо, но конкретный человек не все понимал, а когда об этом заикнулся, получил от учитель порцию негативного коммента в свой адрес (в духе Вашего отзыва о детях в школе). Данный учитель задал малому домашку нарисовать блок-схему, а тот читал условие и ничего не понимал. После того, как он дал листок с заданием мне, я ему за минут 5 (ну может 7) обяснил так, что ребенок все понял и без прлблем сделал. А все дело окозалось в том, что учитель дал на листе с задачей явно лишнюю инфу, которая ребенка спутала. Иными словами не мог кратко и конкретно обьяснить, и просто стал себя агрессивно вести.
ответить
From Andrey V. Stolyarov Fri Oct 4 15:52:06 2024 UTC
Re: Re: Re: Re: Блок-схемы
> и просто стал себя агрессивно вести
Я когда такие предъявы наблюдаю, у меня автоматически возникает вопрос: а вы там, в классе, присутствовали? Или, может, кто-то это всё на видео заснял, а вы посмотрели?
Я не утверждаю, что там учитель "на самом деле хороший", т.к. плохие учителя, несомненно, встречаются, и их, наверное, даже намного больше, чем хороших. Я утверждаю несколько иное: со слов недовольного ребёнка делать выводы о том, что там в школе происходило — это как минимум странно.
ответить
From Oliver (unverified) Sat Oct 5 15:31:39 2024 UTC
Re: Re: Re: Re: Re: Блок-схемы
Я знаю своего ребенка. Знаю его отношение к учебе: конкретно он не станет говорить того, чего не было. Не такой человек просто. Да и у нас в семье не принято жаловаться на учителей: мы его приучаем к уважению педагогов, потому если уж он говорит, что было дело, значит точно было.
Я не утверждаю, что вот все учителя информатики поголовно не умеют преподовать. Я увидел, что человек хочет поместить всех детей в какую-то раму, при том, что возможно он не сумел просто некоторым детям обьяснить конкрентные вещи, по каким-то причнинам. Ссылаться на "способных детей" разумеется не совсем корректно (ИМХО), потому что может случиться такое, что при любом учителе какой-то процент учеников что-то да поймут. Не утверждаю, что человек не умеет преподовать, но я не согласен с его выводами о способностях детей. Да, кому-то надо на одну задачу 30 минут, но так это может как раз из-за того, что человек не сумел донести до ребенка вложенные циклы, и опять же есть индивилуальные способности ребенка, и 30 минут на ПЕРВУЮ задачу с вложенными циклами отнюдь не означают, что человек не может быть хорошим программистом. Короче призываю, не списывать всех детей (или большУю их часть) только потому что кто-то пытался научить детям что-то, те непоняли так быстро как он этого хотел бы или предпологает, потому что есть ошибки в преподавании, есть индивидуальные склонности детей, есть иные факторы, которые могут негативно сказаться на восприятии материала, такие как усталость (ибо в школе до фига задают)... :)
ответить
From Andrey V. Stolyarov Sat Oct 5 15:34:48 2024 UTC
Re: Re: Re: Re: Re: Re: Блок-схемы
> Я знаю своего ребенка. Знаю его отношение к учебе: конкретно он не станет говорить того, чего не было. Не такой человек просто.
Знаете, сколько я видел мудаков-родителей, несущих вот именно эту пургу, слово в слово? Я скорее не припомню, чтобы видел каких-то других. Поголовно у всех их собственные дети — непременно ангелы с крылышками.
Вообще вы меня давно уже напрягаете со своими безумными телегами, давайте вы куда-нибудь ещё будете ходить, а не на мой сайт? Интернет большой.
ответить
From Василий (unverified) Fri Oct 4 23:34:24 2024 UTC
Re: Блок-схемы
>Но мое мнение, что списывать ребенка со счетов только потому, что он решает что-то дольше по времени нежели определенный учитель считает, - в корне не верно
Тут приношу извинения. Я совсем не это имел в виду - просто не высказал свою мысль максимально точно.
Да, как мы тут нестройным хором уже выяснили, не имеет смысл замерять время решения задачи в секундах и как-то учитывать это измерение где-либо. Эти мои "полчаса", о которых я говорю, конечно, очень условны. Не осилил за полчаса - вот тебе время до конца занятия; а у нас кружковое занятие длится 120 минут. И этого не хватило? Реши задачку дома, до следующего занятия два дня. Вот если и этого человеку не хватило, то я начинаю подозревать, что что-то не то.
Ученики из категории "что-то не то" делятся на два типа в соотношении примерно 1/9; один из десяти действительно что-то пытался, но ничего не получилось, а остальные девять ничего дома ни в каком виде не попытались сделать и просто пришли на следующий урок в надежде, что можно этот непонятый материал пропустить - всё крутое-то, мол, впереди. Для этого "одного" этот тест обычно и не требуется: у него проблемы возникают на обычном цикле, ещё до вложенных.
В общем, сегрегация учеников по времени решения задачки мне не требуется. Мне кажется, что это вообще не требовало пояснений; разумеется, я отличаю способных от не способных по их способности/неспособности решить задачу вообще, за любое произвольное время. И, в общем то, "любое произвольное" время не требуется, а зачастую мне всё уже становится понятно за каких-нибудь полчаса-час. Разумеется, я не делаю из этого принципа; бывают люди, которым действительно нужно пару дней на освоение вложенных циклов, а потом они приходят и догоняют остальных. Дело не в часах/минутах, а в заинтересованности человека в понимании материала. Если хотите - я даже считаю, что тут есть какая-то связь; обычно, если есть заинтересованность, есть и способность освоить тему. Нет способности - обычно нет и заинтересованности.
И, наконец:
>списывать ребенка со счетов
А никто и не списывает. Извольте перечитать исходную цитату. Там прямо указано: "...Крест я ни на ком не ставлю, но рекомендую попробовать ещё раз сильно попозже. Через полгода-год.". Я серьезно. Сам видел, как с вершины чуть большего опыта способности "открываются" с вершины чуть большего опыта.
И ещё добавлю субъективное мнение, которое я в целом до конца защищать не готов, но почти что его придерживаюсь. Этим свойством обладают все предложения ниже этого и до конца комментария.
>Я верю, что, мягко говоря, не все ученики могут понять вложенные циклы с ходу
А я "верю" в то, что переменную, условный оператор и цикл не надо "понимать", как будто это высшая математика. Абстракции этих конструкций надо уметь почти мгновенно воображать в голове после того, как ты увидел несколько примеров. Нет такой возможности? До свидания, иди и ещё подрасти. Вложенные циклы - ещё ладно; но на моей практике у большинства тех, кто с ними имел серьезные проблемы, были и проблемы с вышеуказанными понятиями.
Причем понять конкретно эти вещи надо уметь, на мой взгляд, самостоятельно. Учитель плох? Сплошь и рядом бывает. Но перед тем, как обвинять его в своих бедах, стоит взяться за компилятор и попробовать что-то самостоятельно. В поддержку этому процессу: и видео на ютьюбе есть обучающие, и всякие другие места в интернете полны - может, далеко не идеальных, но хоть на что-то годных - основ императивного программирования. Для серьезного обучения пользоваться ими не стоит, но вот эти начала начал можно и там найти, никто не умрёт.
Впрочем, я это о всём, что касается обучения программированию. Если задаться вопросом "как понять что-то на школьном уроке информатики, где преподают блоксхемами" - лично я бы ответ на этот вопрос искать не стал, как и на вопрос "зачем информатика преподается в школе в классах ниже 10-11".
ответить
From Andrey V. Stolyarov Sat Oct 5 08:53:48 2024 UTC
Re: Re: Блок-схемы
> зачем информатика преподается в школе в классах ниже 10-11
Вот этот тезис мне, пардон, несколько странен. Десятый класс — это возраст 15-16 лет, ну вот лично я программировать (на ДВК-1, на бейсике с нумероваными строками) начал в 13, и точно помню, что вообще-то надо было ещё раньше: попался бы мне компьютер в восемь-девять лет (очень хорошо этот возраст изнутри помню, как ни странно), я бы и тогда начал, и был бы в итоге ещё круче.
С другой стороны, тем, у кого алгоритмический кретинизм, вообще не надо ни в каком возрасте, и этот самый алгокретинизм с возрастом не проходит. Но тут уже проблема общая для школьного возраста: как отделить тех, кому надо, от тех, кому не надо, и при этом не ошибиться.
ответить
From Parthen Sat Oct 5 10:26:28 2024 UTC
Re: Re: Re: Блок-схемы
> Но тут уже проблема общая для школьного возраста: как отделить тех, кому надо, от тех, кому не надо, и при этом не ошибиться.
Дать школьникам самим выбирать предметы? Я бы с радостью ходил бы в школу если бы у меня в расписании была бы одна информатика с базой (русский/математика)
ответить
From Andrey V. Stolyarov Sat Oct 5 11:58:03 2024 UTC
Re: Блок-схемы
В целом сейчас так и есть: то, что даётся на школьных уроках, считается базой, для всего остального — всевозможные кружки. По-видимому, эту "базу" следует пересмотреть, но я не уверен, что её радикальное сокращение будет однозначно правильно.
ответить
From Parthen Sat Oct 5 13:50:12 2024 UTC
Re: Re: Блок-схемы
У меня еще свежи воспоминания как в физмате я тратил по 3 часа в неделю на физкультуру (причем, от которой я освобожден), по часу в неделю на биологию, химию, всеобщую и отечественную историю, обществознание, индивидуальный проект, "урок о важном".
При этом на информатику, которую я вообще-то сдавал как единственный дополнительный ЕГЭ отводилось часа два. Кружков не было.
По итогу класса с 9 меньше 6 уроков (на минуточку, с 8:00 до 13:10) не бывало в принципе. Позже, когда у нас сделали субботу выходной, не бывало уже меньше 7-8.
По итогу эта вот "база" ничему не учила (как будто я буду всерьез учить биологию вместо подготовки к экзамену), так еще и выматывала.
ответить
From Andrey V. Stolyarov Sat Oct 5 14:42:38 2024 UTC
Re: Блок-схемы
Ну, как я отношусь к гуманитарщине, тут объяснять никому не надо, т.е. предложение выпилить из школьной программы историю (в любом её виде), а равно обществознание и литературу (не знаю, что там ещё от неё осталось) я готов всячески поддержать. Это всё не имеет никакого отношения к обучению, и к развитию тоже, только к массовой индоктринации.
Биология и химия на мой взгляд несомненно входят в тот базис, который должен присутствовать, и что их сейчас преподают в школе в основном отвратительно — это само по себе не значит, что их нужно выпилить, математику, физику и информатику тоже преподают чёрт знает как, но их мы вроде выпиливать не собираемся.
Возможно, для вас будет сюрпризом также и то, что я не поддержу выпиливание физкультуры. Больше того, я бы, наоборот, отменил всевозможные "освобождения по состоянию здоровья". Разве что дать возможность желающим заменять школьную физкультуру на занятия в какой-то спортивной секции.
ответить
From Parthen Sat Oct 5 14:54:51 2024 UTC
Re: Re: Блок-схемы
>Биология и химия на мой взгляд несомненно входят в тот базис, который должен присутствовать
Даже если ученику это явным образом не нравится? И это не вызовет противоположного эффекта?
>Возможно, для вас будет сюрпризом также и то, что я не поддержу выпиливание физкультуры. Больше того, я бы, наоборот, отменил всевозможные "освобождения по состоянию здоровья".
Действительно сюрприз, особенно с отменой освобождений. Можно поподробнее?
ответить
From Andrey V. Stolyarov Sat Oct 5 15:13:15 2024 UTC
Re: Блок-схемы
Есть довольно много школьников, которым в принципе не нравится вообще всё, чем их грузят в школе. И что теперь? По-моему, буквально ничего.
Про физкультуру я не вижу, каким образом тут следует раскрывать мысль, в том числе с "освобождениями". Физкультура для здоровья не только не вредна, но и, напротив, полезна, поэтому освобождать от физкультуры якобы "по состоянию здоровья" — это просто бред сивой кобылы.
ответить
From Parthen Sat Oct 5 15:42:34 2024 UTC
Re: Re: Блок-схемы
Просто какое отношение это имеет к образованию? Овощи кушать тоже полезно, это же не повод всех школьников гнать в столовую и принудительно пичкать салатом.
ответить
From Andrey V. Stolyarov Sat Oct 5 15:52:51 2024 UTC
Re: Re: Re: Блок-схемы
Что, физкультура? Разумеется, имеет самое прямое отношение, ничуть не менее прямое, чем математика с физикой.
ответить
From Parthen Sat Oct 5 15:55:26 2024 UTC
Re: Re: Re: Re: Блок-схемы
Каким образом?
ответить
From Andrey V. Stolyarov Sat Oct 5 15:59:20 2024 UTC
Re: Блок-схемы
Что вы за бред несёте? А математика и физика каким образом?
ответить
From Parthen Sat Oct 5 16:15:00 2024 UTC
Re: Re: Блок-схемы
Я торможу что ли...
Математика, физика, химия - это науки, для их изучения школа и нужна. Физкультура - это не наука (ну, т.е. есть наука о физкультуре, но ее на уроках физры не изучают примерно никак).
ответить
From Andrey V. Stolyarov Sat Oct 5 16:32:46 2024 UTC
Re: Блок-схемы
> это науки, для их изучения школа и нужна
Это вы хватили. Я неоднократно встречал людей, утверждающих, что даже университет нужен отнюдь не затем, чтобы там изучать науки; ну, я с этими людьми не согласен, конечно, но такие есть, и их много.
А вы про школу. Это могло бы быть смешно, но что-то мне не смешно.
> Физкультура - это не наука
В том виде, в котором математика, физика и химия присутствуют в школе — это тоже не науки. И это я молчу, например, про умение писАть — буквально то, которое в первом классе по прописям, и потом до какого-то там класса на уроках "русского языка" — тупо орфография и пунктуация, притом даже не вся, и не говорите мне, что это всё имеет хоть какое-то отношение к лингвистике (которая тоже не факт что наука).
А ещё — про умение читать. Между прочим, это тоже не стоит принимать как данность, поскольку есть люди, которые могут текст с бумажки прочитать вслух, но патологически не могут из этого текста ничего извлечь, и выглядит это довольно страшно, при том что во всём остальном человек вроде адекватный, беседу поддерживает, на вопросы отвечает, сам вопросы задаёт, даже аудиокниги слушает, но никогда ничего не читает, потому что ему бесполезно. Да, буквы знает, да, читать вслух умеет. Не спрашивайте меня, как это может сочетаться.
Да и информатика пресловутая — возможно, для считанных единиц она может стать первым шагом в программировании, но для подавляющего большинства всё, что можно из информатики извлечь — это базовые навыки работы с компьютерами.
Вообще вся школа — частично про профориентацию, но большей частью — именно про базовые навыки. И вот базовые навыки, как обращаться с бумагой, ручкой и книгами, нам вроде бы нужны, тут особых сомнений не возникает. Базовые навыки работы со всякими инструментами тоже полезны, так что, например, "уроки труда" с моей точки зрения вполне уместны. Я, кстати, не знаю, существуют ли они сейчас, но умение распилить доску, остругать рубанком какой-нибудь черенок для лопаты и заменить электрическую розетку в стене — это такая же база, как и умение читать книжки, писать бумажки и уметь считать хотя бы на таком уровне, чтобы в магазине вовремя заметить, что сдачи недодали. И с компьютерами обращаться тоже желательно уметь, ну хоть до какой-то степени.
И вот после всего этого один простой вопрос: а что, умение обращаться с собственным телом в базу не входит? Это вообще как?!
ответить
From Parthen Sat Oct 5 16:51:49 2024 UTC
Re: Re: Блок-схемы
>базовые навыки работы со всякими инструментами тоже полезны, так что, например, "уроки труда" с моей точки зрения вполне уместны.
Безусловно. Тут чему-то учат (хотя разделение технологии на мужской и женский класс идиотское)
>Я, кстати, не знаю, существуют ли они сейчас, но умение распилить доску, остругать рубанком какой-нибудь черенок для лопаты и заменить электрическую розетку в стене
Существуют. Но лично у меня вот это все вышеперечисленное было по желанию (ну, вот я хотел - и шел что-то из дерева делать). А те, кому это до фонаря просто сидели в соседней комнате в телефоне. Или прогуливали.
>а что, умение обращаться с собственным телом в базу не входит? Это вообще как?!
Гэм, у нас видимо разные представления о физкультуре. Я в общем-то за то, чтобы была вот такая физкультура на которой реально учили всякое делать. Ну, через козла там прыгать, плавать, сальто делать и вот это все.
Но у меня этим занимались раз в пару месяцев, в основное время упражнения из годами одинаковой разминки - потом идите в волейбол до конца урока играйте. Т.е. суть физкультуры, как мне объясняли - держать нас в "форме".
Переодически сдавались нормативы, которые вообще странные. Я вот высокий, мне бегать было легко. А были люди метр с кепкой, они хоть надорвутся но бегать как я не смогут. Но оценку хуже меня им поставят.
ответить
From Andrey V. Stolyarov Sat Oct 5 16:59:09 2024 UTC
Re: Блок-схемы
Пардон, у вас физкультура была дебильная, хотя даже ещё не самая дебильная, бывает намного дебильнее. Ну так и что? В школе вообще все предметы преподаются в основном так, что туши свет и сливай воду. А уж найти отдельно взятую школу, где какой-то наперёд заданный предмет преподаётся так, что лучше б его вообще никак не преподавали — это, я бы сказал, вообще проще простого. Но этак мы так, чего доброго, всю школу выпилить решим, вот просто как явление, чтобы по мелочам не размениваться.
ответить
From anon (unverified) Sat Oct 5 17:01:33 2024 UTC
Re: Re: Блок-схемы
А почему лингвистика не факт, что наука?
ответить
From Andrey V. Stolyarov Sat Oct 5 17:06:20 2024 UTC
Re: Блок-схемы
Предмет изучения там какой-то сомнительный. Сомнительный в том смысле, что невозможно сказать, чтО этот предмет собой в действительности объективно представляет.
Я на самом деле не стану прямо однозначно утверждать, что лингвистика не наука. Просто для меня это не факт.
ответить
From Artem (unverified) Sun Oct 6 10:06:52 2024 UTC
Re: Re: Блок-схемы
Лингвистика разная бывает. Ещё лет 150 назад было принято считать, что лингвист это такой высокомудрый человек, который точно знает, как должно, а как ни в коем случае нельзя говорить на некоем языке. Ныне преобладает другое мнение, что лингвист это человек, который изучает (не знает, а именно изучает), как говорят разные люди, что при этом имеют в виду, и как их понимают другие. И если второго я могу назвать учёным, то насчёт первого я порой сомневаюсь, считать ли его хотя бы представителем человеческого рода.
ответить
From Artem (unverified) Sun Oct 6 11:52:35 2024 UTC
Re: Re: Re: Блок-схемы
Родители обычно считают, что польза овощей это более чем достаточный повод кормить ими ребёнка принудительно, или же откровенно лгать ему насчёт того, что лежит в его тарелке Мол, что ты, малыш, это никакая не морковка, это марсианские яблочки. И ведь что характерно, чаще всего выясняется, что марсианские яблочки это очень даже вкусно, в отличие от морковки. Хотя казалось бы.
ответить
From Andrey V. Stolyarov Thu Oct 10 11:55:12 2024 UTC
Re: Блок-схемы
Вообще, кстати, интересно это. Дело в том, что лично меня все взрослые, какие окружали меня в детстве, уже годам к четырём совершенно категорически не могли обмануть, я всё враньё пропаливал лучше любого полиграфа, а ещё всё помнил (типа, я не злопамятный, просто злой и память хорошая) — когда, кто и какую пургу мне пытался прогнать, и любые неуклюжие попытки опять мне чего-то навешать меня совершенно дико выбешивали, причём почему-то в особенности ситуация "а ты же раньше говорил/а совсем другое", когда я отчётливо всё помнил, а тот взрослый, которого я спалил на самопротиворечии, естественно, уже успел забыть, какой ахинеи он там раньше мне успел наговорить по рассматриваемому предмету. А адекватно выражать недовольство словами я в том возрасте, понятное дело, не умел, но при этом совершенно не считал нужным сдерживать эмоции, сейчас даже слегка забавно это вспоминать — уж не знаю, что соседи думали по этому поводу, но было всегда очень громко. Надо сказать, дед у меня был поумнее остальных "причастных к воспитанию", вот он первый перестал пытаться врать по каким бы то ни было поводам — видимо, всё понял.
Став чуть постарше, ну там типа 7-8-10, видел, как уже другие взрослые пытаются дурить их собственную мелочь, и иногда пытался им объяснить, что их всё равно пропалят. Был почему-то уверен, что все дети поголовно любое враньё палят так же, как и я.
Наверное, всё-таки ошибался.
ответить
From Artem (unverified) Fri Oct 11 12:57:05 2024 UTC
Re: Re: Блок-схемы
В моём случае было куда проще: информацию о том, что я всё выдумал, а на самом деле этого не было, потому что не было и не могло быть никогда, мне сообщали по самому быстрому и надёжному для такого рода сообщений каналу связи -- кулаком в голову. Но это _я_ так говорю, на самом деле, разумеется, никто меня и пальцем не трогал ;-)
Обычно дети больше верят своим родителям, чем себе.
ответить
From Artem (unverified) Sun Oct 6 10:40:18 2024 UTC
Re: Re: Re: Блок-схемы
Не нравится, да. Самое веселье начинается, когда осознаёшь, что на направление, у которого прямо в названии первым же словом стоит "информатика", поступила прорва народу, которые в школе забили на эту вашу информатику здоровенный болт, а поступали через ЕГЭ по, мать её, физике. А что, какая разница, в школе всё равно ничему толком не учат, поэтому давайте отложим всё обучение до вуза.
Но даже после того, как "физики" отвалились (не все, конечно, только забившие в своё время на всё остальное), сюрпризы не кончились: например, лекцию по консольным программам обработки текста нам читал человек, который обычно читает её биоинформатикам. Разумеется, переделывать свои слайды и примеры он не стал, предполагая, что, раз в школьной программе есть все необходимые сведения об устройстве ДНК, то все всё поймут... Но нет - почти для всех даже сама аббревиатура "ДНК" и слово "нуклеотид" оказались совершенно новыми понятиями. В итоге он стоял и рассказывал третьекурсникам биологию старшей школы, которую они все посещали. А ведь дело даже не в биологии как таковой, просто вот настолько экстремально люди спрофориентировались, что за пределами профессии ничто не имеет значения.
Кстати, некоторые особенности восприятия действительности другими людьми, в особенности моими однокурсниками, стали понятнее после того, как я осознал, что слово "эволюция" в их понимании означает только лишь усложнение внутреннего устройства с течением времени. Хотя вообще-то это необязательно так, и дегенерация (вырождение) это такой же вид эволюции, как и ароморфоз (повышение уровня организации), а самый частый путь эволюции предполагает лишь незначительные изменения, не усложняющие и не упрощающие организм в целом. Да и время само по себе значения не имеет. Вот и получается, что, раз эволюция объективна и неизбежна, и софт ей тоже подвержен, то со временем этот самый софт может лишь усложняться и повышать системные требования, но никак не снижать их, и уж точно не топтаться на месте с минорными изменениями.
ответить
From Artem (unverified) Sun Oct 6 11:44:08 2024 UTC
Re: Re: Re: Блок-схемы
У нас в универе освобожденных от физкультуры не существует ;-) А справка о том, что ты -- самый тяжело больной в мире человек, просто обязывает ходить не на направление по выбору (типа плавания, или баскетбола), а на специальное направление для вот таких вот. Две пары в неделю, как все.
ответить
From Andrey V. Stolyarov Sun Oct 6 12:27:52 2024 UTC
Re: Блок-схемы
Насколько я понимаю, это дебильное понятие "освобождения по состоянию здоровья" бывает только в школе. У нас, когда я был студентом, тоже не было никаких освобождений. Ну, по правде говоря, у нас на курсе не было вроде бы ни одного инвалида (настоящего инвалида, чтобы как минимум на коляске), вот что происходит, когда инвалиды появляются, я не интересовался. Впрочем, паралимпийские игры же существуют, почему не должно быть физкультуры для инвалидов?
ответить
From Artem (unverified) Sun Oct 6 13:19:28 2024 UTC
Re: Re: Блок-схемы
С инвалидами на колясках всё сложно. На айтишных направлениях нашего вуза их, похоже, в принципе не будет, поскольку в пятиэтажном корпусе, где у нас большинство занятий, нет ни лифтов, ни пандусов, и на большинство занятий они попасть тупо не смогут, разве что их кто-то на руках нести будет (на пятый этаж...). Но в некоторых других корпусах лифты есть, поэтому в принципе там может найтись пара-тройка колясочников. И исходя из бумаг, что я читал, исключения для них делать никто не будет, направление "адаптивная физическая культура" именно для того и придумано, чтобы адаптировать всякого рода инвалидов, независимо от того, астма у них, диабет или отсутствие нижних конечностей.
ответить
From Василий (unverified) Sat Oct 5 16:13:36 2024 UTC
Re: Re: Re: Блок-схемы
Это просто я снова "непрофессионально" участвую в разговоре. Лень точно пояснять свои довольно непростые взгляды по этому вопросу, поэтому я просто пометил последнюю часть своего предыдущего комментария как "мнение, которое не готов защищать", решив, что и так сойдет.
Конечно, возраст тут роли не играет; чем раньше талантливые дети займутся нужным им делом, тем лучше, и что, мол, стоит преподавать предмет Х только с возраста N - и не думаю утверждать.
Тезис, который Вы отметили странным, полностью заключается в следующем. Вообще-то я думаю, что информатики в школе вообще быть не должно в том виде, в котором ее там сейчас преподают. Иначе говоря, "ничего" сейчас лучше того, что есть. Здесь утверждение буквально и не значит чего-либо ещё: т.е., я не подразумеваю, что информатика не нужна как школьный предмет или что-нибудь в этом духе.
А 10-11 классы я упомянул только в связи со следующим; если информатику 7-9 я считаю нужным и возможным выкинуть в ее текущем виде из школьной программы до исправления ситуации, то в 10-11 она как формальный предмет всё-таки нужна и в текущем печальном состоянии школьного образования, чтоб школьник получил некий набор знаний для поступления в ВУЗ соответствующей направленности (и вообще для того, чтоб решить, надо ему в этот ВУЗ или нет).
У меня вообще довольно много специфических взглядов на современную ситуацию в образовании; даже если бы я имел силы и ресурсы и задался целью сделать школьную информатику эффективной, я бы начал далеко не с изменений в существующих на практике подходах к преподаванию информатики. Так что дело, наверное, и вовсе не в том, что можно что-то там из программы выкинуть/в программу вставить. Но с этим меня сюда никто не звал.
ответить
From Anonymous (unverified) Tue Oct 1 12:09:22 2024 UTC
Re: Блок-схемы
Не знаю как у других, а мне блок схемы всегда казались бесполезной ерундой и пустой тратой времени. При этом я хоть и немного, но программировать умею. Мне код программы понятнее, чем схема. Не знаю как другим.
ответить
From Andrey V. Stolyarov Tue Oct 1 12:28:35 2024 UTC
Re: Блок-схемы
У меня в целом точно так же, за всех программистов мира, конечно, не поручусь. Проблема в том, что учить-то надо всех (весь класс, всю группу, весь курс), а вот так вот воспринимать код с листа могут только потенциальные программисты — т.е. сильно не все.
ответить
From Василий Ильич (unverified) Tue Oct 1 13:46:37 2024 UTC
Re: Re: Блок-схемы
> мне блок схемы всегда казались бесполезной ерундой
Я на практике видел активное использование блок-схем для решения т.н. "бизнес задач" (при том в крупнейшем банке РФ) и при составлении ТЗ.
Конкретно в программировании, наверное, оно лишнее, т.к. сам ЯП уже сам по себе достаточно описывает алгоритм.
ответить
From Artem (unverified) Tue Oct 1 15:55:56 2024 UTC
Re: Re: Re: Блок-схемы
Известно использование блок-схем для представления медицинских алгоритмов в учебниках. Если быть точным, то используется язык ДРАКОН, это тоже блок-схемы, но с более строгими правилами и упором на понятность человеку. Может, его имело бы смысл применять и для других целей, но сколько-нибудь заметны только упорные/упоротые попытки приспособить его для программирования компьютеров общего назначения, главным образом путём скрещивания с языками вроде C или Python.
ответить
☞ From CrystalCastles (unverified) Mon Sep 30 13:59:09 2024 UTC
Составные литералы
В главе 4.5.1, второго тома, вы пишете что значния структурам можно присваивать только при инициализации. Напрмиер struct vector u = {5, 6, 1};. Но я увидел, как в интернете структурам присваивают литералы и после инициализации, только для этого нужно уточнить тип структуры: v = (struct vector){4, 10, 3};. Это какая-то особенность современных компиляторов С, или так было можно делать всегда?
ответить
From Andrey V. Stolyarov Mon Sep 30 14:02:36 2024 UTC
Re: Составные литералы
Прежде всего, "присваивать при инициализации" — это оксюморон. Присваивание и инициализация — это принципиально разные вещи, в книге этот момент подробно разобран.
Что касается литералов типа структура, то да, это, если не ошибаюсь, из "стандарта" C99. Психически здоровые люди такого не делают. Я вам больше скажу, нормальные люди в программах на чистом Си никогда не присваивают структуры, не передают их в функции по значению и не возвращают из функций, несмотря на то, что это всё в Си стало "можно" задолго до первого стандарта.
Сразу же оговорюсь на всякий случай, что в C++ ситуация совершенно иная, но это и язык другой.
UPD: мне совершенно не интересно в сотый раз повторять, почему "стандарты" недопустимы и всё, что из них пришло, использованию не подлежит. На этот сайт вы зашли по ошибке, интернет большой, пойдите куда-нибудь ещё.
Ваш очередной коммент я раскрывать, естественно, не буду, но на всякий случай замечу, что пример вы в нём привели абсолютно дебильный и для того, что вам там "потребовалось", структурные литералы не нужны. Засим вон с моего сайта.
ответить
☞ From Andrew (unverified) Sat Sep 28 15:00:26 2024 UTC
Написание конспектов при изучении программирования и компьютерных наук
Здравствуйте. Хотел бы поинтересоваться Вашим мнением по поводу того, стоит ли делать конспеты, изучая программирование и компьютерые науки?
ответить
From Andrey V. Stolyarov Sat Sep 28 16:41:22 2024 UTC
Re: Написание конспектов при изучении программирования и компьютерных наук
Это индивидуально, но, если вас это интересует, лично я довольно часто конспекты делаю.
ответить
☞ From Ilya Wed Sep 25 12:52:25 2024 UTC
Детали реализации идеального языка
У меня есть несколько вопросов касательно деталей реализации идеального языка, буду очень признателен если ответите хотя бы на часть из них.
1) Как по вашему должна выглядеть система модулей? Может взять за основу какую либо из существующих языков? Очевидно, что можно сделать лучше чем сишные инклюды.
2) Как должна выглядеть реификация стека? Из FAQ не понял. Из того что описано в статье 3.5.2, правильно ли я понял, что достаточно лишь 2 ключевых слова, которые действуют аналогично функциям setjmp и longjmp?
3) Непонятно для чего нужно давать программисту возможность определять конвенцию вызова подпрограмм, какие у этого use cases? Первое что в голову приходит, что бы использовать библиотеки других языков, помимо Си, но вы возможно имели ввиду что то еще. И как будет выглядеть реализация?
4) Как передать макропроцессору данные о типах выражений, если сами выражения могут состоять из макро-вызовов? При стратегии top-down expansion, я решения тут не вижу (А bottom-up использовать нельзя, ведь тогда не получится написать макрос, который выдает вызов другого макроса).
ответить
From Andrey V. Stolyarov Wed Sep 25 13:12:59 2024 UTC
Re: Детали реализации идеального языка
> 1) Как по вашему должна выглядеть система модулей?
Подозреваю, что на уровне самого языка модульности быть не должно вообще (собственно, в Си её и нет, а инклуды — это хак, эмулирующий модули).
Наворотить "систему модульности" вроде паскалевской или какой-то ещё можно на уровне макробиблиотек.
> 2) Как должна выглядеть реификация стека?
Вместе с подпрограммой должен появляться некий структурный (если угодно, компаундный) тип, соответствующий структуре её фрейма, имена полей при этом соответствуют именам параметров и локальных переменных, и у всех этих типов должна быть общая часть, содержащая адрес возврата. Вот дальше уже надо думать более подробно: скажем, надёжная навигация в этих фреймах при отсутствии фрейм-пойнтеров невозможна, но стоит ли делать их обязательными (т.е. делать невозможным тот вариант оптимизации, который в gcc включается по -fomit-frame-pointers) для меня вопрос открытый.
> Непонятно для чего нужно давать программисту возможность определять конвенцию вызова подпрограмм
Чтобы не навязывать её. Язык вообще должен навязывать как можно меньше.
> какие у этого use cases?
Неважно. Если мы не знаем, зачем что-то может понадобиться, из этого никак не следует, что оно не понадобится. Жёсткая фиксация одной конвенции вызовов безосновательно сужает спектр доступных инструментов.
> И как будет выглядеть реализация?
Над этим я думал, ничего путного не придумал. Возможно, стоит просто зафиксировать какое-то количество предопределённых конвенций на уровне компилятора и макросам дать доступ к проверке наличия/отсутствия поддержки конкретной конвенции (нет такой — используем другую).
Вопроса номер четыре не понял.
ответить
From Ilya Wed Sep 25 15:48:01 2024 UTC
Re: Re: Детали реализации идеального языка
> Наворотить "систему модульности" вроде паскалевской или какой-то ещё можно на уровне макробиблиотек
Я тоже так вначале думал, но у меня есть опасение, что если дать макросам возможность делать произвольный IO, нехороший автор библиотеки сможет исполнить вредоносный код аж во время компиляции, чего разработчик обычно ожидает меньше всего, или еще хуже, какая нибудь обезьяна начнет качать зависимости с интернета, делать fopen() по абсолютному пути ожидая там библиотеку и тд. Да, это все конечно можно и в make файле сделать, но он обычно простой и читаемый, его легко подредачить если надо.
> Вопроса номер четыре не понял.
Допустим мы хотим реализовать шаблоны, у нас есть шаблонная функция foo(T a) {...} и ее вызов foo((x + y)). Для раскрытия макроса отвечающего за шаблоны, нам необходимо получить тип выражения (x + y), но откуда макрос получит доступ к таблице переменных и их типов, если что бы ее построить, нам сначала необходимо все макросы раскрыть? При том что в нашем выражении, как оператор "+" может быть макросом (перегрузка), так и декларация переменных "x" и "y" может быть закопана глубоко под макросами. Надеюсь у меня получилось объяснить, я компиляторы пишу впервые, могу чего то не знать.
ответить
From Andrey V. Stolyarov Wed Sep 25 16:00:17 2024 UTC
Re: Re: Re: Детали реализации идеального языка
> если дать макросам возможность делать произвольный IO
Об этом речи и не идёт, собственно. Произвольный IO для этого не нужен, достаточно, во-первых, уметь из тела макроса исполнить то, что в Си делает #include (т.е. заданный файл распарсить и то ли сожрать как если бы он тут был весь написан, то ли скормить макросу на вход в качестве цепочки лексем), и во-вторых, иметь возможность сохранить (возможно, с заданием имени файла, возможно, и нет) некий набор глобальных идентификаторов со всеми их (ныне известными компилятору) атрибутами.
> необходимо получить тип выражения
Всё проще. Во-первых, сами макросы должны быть сильно разных видов (в английском обычно используется слово flavor в этой роли), в том числе должен быть такой вид макросов, который, с точки зрения компилятора, тупо жрёт лексемы, которые стоят в тексте после его вызова, пока не заявит, что ему хватит. Во-вторых, аргументы макросов должны быть разного типа (NB: это не тот тип, который "тип выражения"! это другая предметная область!), и среди них должен быть тип "произвольное грамматически законченное арифметическое выражение". Такой аргумент должно быть возможно отдать компилятору на экспертизу, в том числе на предмет выяснения его типа.
ответить
From АнОнИмУс (unverified) Thu Sep 26 08:28:38 2024 UTC
Re: Re: Re: Re: Детали реализации идеального языка
Здравствуйте, Андрей Викторович! А можете посоветовать литературку по компиляторам? Я писать компилятор не собираюсь, для общего развития, понимания. Заранее спасибо!
ответить
From Andrey V. Stolyarov Thu Sep 26 09:02:01 2024 UTC
Re: Детали реализации идеального языка
http://stolyarov.info/guestbook/archive/6/#comment-6093
ответить
From Ilya Sun Oct 6 14:16:39 2024 UTC
Re: Детали реализации идеального языка
Еще спрошу вдогонку
1) Во первых насчет системы типов, ну то есть понятно что bool и char надо сделать самостоятельными типами, а не числовыми, но стоит ли вообще вводить механизм неявных пререобразований? Как по мне, от них больше вреда чем пользы.
2) Если говорить про x86 бэкэнд, хватит ли для написания компилятора знаний ассемблера, описаных в вашем трехтомнике и пособии по NASM?
3) Думал сделать так что бы в функциях был defined argument evaluation order, слева направо например, с одной стороны, это даст больше гарантий и контроля в некоторых ситуациях с побочными эффектами, но с другой стороны, некоторые оптимизации станут недоступны, как думаете хорошая ли идея?
4) И последнее, будет ли возможность в таком языке реализовать ленивые вычисления?
Кстати, я тут подумал, а ведь если такой язык с изменяемым синтаксисом обретет популярность, наконец-то уйдут на свалку истории такие дебильные вещи как подстветка синтаксиса, auto formatters, LSP а вместе с ними и IDE как концепция.
ответить
From Andrey V. Stolyarov Sun Oct 6 14:38:07 2024 UTC
Re: Re: Детали реализации идеального языка
> ну то есть понятно что bool и char надо сделать самостоятельными типами
Совершенно не факт. Кому надо, сделает соответствующую библиотеку. Хотя противоположное тоже не факт.
> хватит ли для написания компилятора знаний ассемблера
Вряд ли. В роли единственного бекенда i386 сейчас вряд ли будет смотреться убедительно, а x86_64 я в книге не рассматриваю.
Но на самом деле там, конечно, проблема будет уж точно не во владении конкретной системой команд.
> что бы
Блядь, заебали. Тут "бы" можно убрать без потери смысла? Нет? Тогда какой нахер пробел между ними?! Реально заебали, элементарное же правило, но нет, через одного эту херню выделывают.
> в функциях был defined argument evaluation order
Можно и сделать, почему нет. Но, судя по этому "в функциях", язык у вас в голове уже совсем не похож на то, что предполагал я. Ничего плохого в этом нет, просто не надо потом рассказывать, что это имеет какое-то отношение к моим задумкам.
> некоторые оптимизации станут недоступны,
Вот уж точно не жалко. Ради гипотетической возможности что-то где-то неочевидным способом оптимизировать не надо жертвовать ничем. Вообще. Иначе скатимся к нынешнему прискорбному состоянию Си и его компиляторов.
> будет ли возможность в таком языке реализовать ленивые вычисления?
Ну, в том, что предполагал я, реализовать можно вообще что угодно по определению.
> а ведь если такой язык с изменяемым синтаксисом обретет популярность, наконец-то уйдут на свалку истории такие дебильные вещи как подстветка синтаксиса, auto formatters, LSP а вместе с ними и IDE как концепция.
Вот уж вряд ли. Говно не тонет.
ответить
From Ilya Mon Oct 7 02:42:47 2024 UTC
Re: Детали реализации идеального языка
> Но, судя по этому "в функциях", язык у вас в голове уже совсем не похож на то, что предполагал я
Я имел ввиду подпрограммы, у меня иногда почему-то в голове идет отождествление этих понятий. Но дело даже не в этом, ранее вы писали "возможно (но не факт) в числе первичных понятий должна быть "подпрограмма", но вот тут уже надо смотреть, что получится". Мне в упор не понятно каким тогда образом создавать подпрограмму, если ее понятие не определено языком, если ввести их через макросы, аля inline, то не получится сделать рекурсию.
> элементарное же правило
Вы уж поймите, я уже 10 лет в России не живу, и в повседневной жизни у меня один английский, я и так комменты перед отправкой судорожно проверяю не попутал чего с грамматикой :)
ответить
From Andrey V. Stolyarov Mon Oct 7 07:17:36 2024 UTC
Re: Re: Детали реализации идеального языка
> Я имел ввиду подпрограммы,
Дело не в этом, просто согласно моим задумкам вызов подпрограммы должен быть операцией применения адреса подпрограммы к кортежу параметров, т.е. о порядке вычислений речь должна идти не "в вызове", а в кортеже. При этом кортеж не должен быть структурой данных в том смысле, что существовать он должен только во время компиляции. Я даже думал на тему сделать два конструктора кортежей — запятую и точку с запятой, причём чтобы у запятой приоритет был выше. Но вообще все эти обсуждения — скорее в пользу бедных, поскольку целиком всю задумку описать в любом случае нереально. Так что, сколько бы мы тут с вами ни обсуждали это всё, у вас всё равно что-то своё получится, и в этом нет ничего плохого.
ответить
From Artem (unverified) Sun Oct 6 14:49:50 2024 UTC
Re: Re: Детали реализации идеального языка
Вот уж подсветку синтаксиса прошу не трогать, у меня без неё в глазах рябит и голова болит уже через максимум час (с ней могу иной раз и сутки в редакторе просидеть, забыв про сон и обед), но даже до наступления этого момента я работаю без подсветки сильно медленнее. Я не собираюсь нагружать свои мозги тем, что намного лучше могут сделать кремниевые, а кремнию уж точно всё равно, что подсвечивать - кейворды, макросы или префиксы с аффиксами. Только правила усложнятся, может быть (а может, и нет).
А IDE как концепции не грозит ничего, поскольку сам UNIX с его потоками текста, ежели приложить немного усилий и воображения, эту концепцию реализует на 120%, лучше, удобнее и гибче любой коммерческой или некоммерческой специализированной софтины. И абсолютно пофигу ему, что там у вас за язык, Си, Хаскель, несуществующий макроязык или вообще турецкий, извольте только найти редактор, транслятор, отладчик, и придумать удобную компоновку окон.
ответить
From Andrey V. Stolyarov Sun Oct 6 15:08:19 2024 UTC
Re: Re: Re: Детали реализации идеального языка
> у меня без неё в глазах рябит и голова болит уже через максимум час (с ней могу иной раз и сутки в редакторе просидеть, забыв про сон и обед),
Довольно интересный эффект, у меня всё происходит точно так же, но в присутствии подсветки.
ответить
From Parthen Mon Oct 7 15:43:02 2024 UTC
Re: Re: Re: Re: Детали реализации идеального языка
Поддержу ТСа, без подсветки работать отвратительно, в глазах начинает рябить. Как на оптическую иллюзию долго смотреть.
Причем зрение-то у меня было и есть идеальное. Видимо, от человека зависит.
ответить
From Ilya Mon Oct 7 02:33:21 2024 UTC
Re: Детали реализации идеального языка
Забавно, а у меня перманентно запущен redshift, яркость экрана на минимуме даже в солнечный день, отключена подсветка и за ноутом сижу только с включеным в комнате светом, если хоть что то из этого не сделать, ночью глаза слезится начинают.
ответить
From Parthen Mon Oct 7 15:44:45 2024 UTC
Re: Re: Детали реализации идеального языка
Попробуйте сесть дальше от монитора, при этом сделать больше масштаб текста.
ответить
☞ From Alex (unverified) Sat Sep 21 17:49:58 2024 UTC
Насчёт книги
Не думали ли вы о написании книги на, так сказать, философскую тему?
ответить
From Andrey V. Stolyarov Sat Sep 21 17:59:36 2024 UTC
Re: Насчёт книги
Рано или поздно напишу, естественно. Проблема в том, что в сутках только 24 часа.
ответить
☞ From Jack (unverified) Sat Sep 21 09:26:02 2024 UTC
Олимпиады по программированию
Такие олимпиады имеют какой-то смысл или они только калечут мозг?
ответить
From Andrey V. Stolyarov Sat Sep 21 10:23:32 2024 UTC
Re: Олимпиады по программированию
Только калечат мозг.
ответить
From Anonymous (unverified) Thu Sep 26 07:24:25 2024 UTC
Re: Re: Олимпиады по программированию
А если не задрачивать задания, а заниматься олимпиадным программированием только на самой олимпиаде? Мне кажется, даже так у умного студента есть шанс получить приз.
ответить
From Andrey V. Stolyarov Thu Sep 26 07:59:41 2024 UTC
Re: Re: Re: Олимпиады по программированию
Дело не в "задрачивании", дело в самом по себе программировании на скорость, когда вдобавок известно, что к написанному коду никто никогда не станет возвращаться.
ответить
From GuestbookSearch (unverified) Sat Sep 21 13:13:34 2024 UTC
Re: Олимпиады по программированию
Данная тема уже много раз поднималась в гостевой:
http://stolyarov.info/guestbook/archive/2/#comment-1672
http://stolyarov.info/guestbook/archive/6/#comment-5348
ответить
☞ From u-micro (unverified) Thu Sep 19 11:44:01 2024 UTC
Crocco Licenses
Что думаете про лицензирование ПО под CC-BY-NC-SC-4.0?https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.txt
А также про https://sourcefirst.com/ ?
Я справшиваю, чтобы узнать чем ваше видение "свободной" лицензии отличается от других людей, организаций etc?
ответить
From Andrey V. Stolyarov Thu Sep 19 11:58:24 2024 UTC
Re: Crocco Licenses
> CC-BY-NC-SC-4.0
Отказать. NC означает "non-commercial", это вообще в принципе не то, что меня сколько-нибудь интересует. CreativeCommons вообще, по-моему, для софта не годится (в смысле, ничего из их лицензий), а уж всякие вот эти вот "для некоммерческого использования" — это уже просто проприетарщина. Это, знаете ли, и мелкомягкие постоянно всяким университетам свой софт "дарят". Убил бы.
> https://sourcefirst.com/
Текст по ссылке любопытный, но сам текст лицензии (или что там у них, какой-то "template") они разместили, как я понимаю, на гитлабе, который — surprize! — в моём основном браузере не открывается, даже если JS включить. Я не настолько заинтересован в их творчестве, чтобы прям щас запукать вторые иксы из-под изолированного аккаунта, где худо-бедно живёт долбаный chromium. Поступить с хромиумом так, как я раньше привык делать — ssh -X на локальную машину — уже не получается, у него для этого гуй слишком тяжёлый, трафик (локальный, блядь) машину просаживает.
> чем ваше видение "свободной" лицензии отличается
А что, это не очевидно? Individuals only. Точка. Если пытаетесь сбиться в кучку, каковая кучка начинает некое самостоятельное существование — то хер вам, а не свободу. Причём достаточно от кучки обратно отбиться, и можно пользоваться всеми благами.
Между прочим, цитата из текста этих sourcefirst:
Ну то есть как раз и имеем очередную химеру. И да, таким я тоже никаких возможностей предоставлять не хочу. Как максимум — free as in free beer, в смысле вот исходники, можете их откомпилить и результат гонять на своих компах, но ни модифицировать, ни распространять не можете, это привилегии индивидов, действующих от своего имени.
Собственно, это и есть моя лицензия, если совсем кратко.
ответить
From u-micro (unverified) Thu Sep 19 13:08:13 2024 UTC
Re: Re: Crocco Licenses
# Grayjay Core License 1.0
## Acceptance By using the software, you agree to all of the terms and conditions below.
## Copyright License FUTO Holdings, Inc. (the “Licensor”) grants you a non-exclusive, royalty-free, worldwide, non-sublicensable, non-transferable license to use, copy, distribute, make available, and prepare derivative works of the software, in each case subject to the limitations below.
## Limitations You may use or modify the software only for non-commercial purposes such as personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, all without any anticipated commercial application.
You may distribute the software or provide it to others only if you do so free of charge for non-commercial purposes.
Notwithstanding the above, you may not remove or obscure any functionality in the software related to payment to the Licensor in any copy you distribute to others.
You may not alter, remove, or obscure any licensing, copyright, or other notices of the Licensor in the software. Any use of the Licensor’s trademarks is subject to applicable law.
## Patents If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
## Notices You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms. If you modify the software, you must include in any modified copies of the software a prominent notice stating that you have modified the software, such as but not limited to, a statement in a readme file or an in-application about section.
## Fair Use You may have "fair use" rights for the software under the law. These terms do not limit them.
## No Other Rights These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the Licensor from granting licenses to anyone else. These terms do not imply any other licenses.
## Termination If you use the software in violation of these terms, such use is not licensed, and your license will automatically terminate. If the licensor provides you with a notice of your violation, and you cease all violation of this license no later than 30 days after you receive that notice, your license will be reinstated retroactively. However, if you violate these terms after such reinstatement, any additional violation of these terms will cause your license to terminate automatically and permanently.
## No Liability As far as the law allows, the software comes as is, without any warranty or condition, and the Licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.
## Definitions - The “Licensor” is the entity offering these terms, FUTO Holdings, Inc. - The “software” is the software the licensor makes available under these terms, including any portion of it. - “You” refers to the individual or entity agreeing to these terms. - “Your company” is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. Control means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect. - “Your license” is the license granted to you for the software under these terms. - “Use” means anything you do with the software requiring your license. - “Trademark” means trademarks, service marks, and similar rights.
ответить
From Andrey V. Stolyarov Thu Sep 19 13:21:39 2024 UTC
Re: Re: Re: Crocco Licenses
А, ну тут всё даже хуже, чем я ожидал. Во-первых, я не вижу, что общего этот текст имеет с целями, заявленными на их основном сайте (по-моему, вообще ничего). Во-вторых
> only for non-commercial purposes such as personal use
Это, собственно говоря, называется "первая доза бесплатно". Подобную мразь нужно отстреливать и топить в бочках с дерьмом.
Впрочем, чего ещё ожидать от юридической хари, которая к тому же начала с регистрации тривиального словосочетания в качестве торговой марки.
ответить
From Ilya Fri Sep 20 13:58:15 2024 UTC
Re: Re: Crocco Licenses
Не думали открыть пожертвования на юриста, который отсмотрел бы вашу лицензию на юридические неточности?
ответить
From Andrey V. Stolyarov Fri Sep 20 15:16:58 2024 UTC
Re: Crocco Licenses
Я не знаю, где взять англоязычного юриста. вдобавок ещё и адекватного.
ответить
From Ага (unverified) Sat Sep 21 05:02:10 2024 UTC
Re: Re: Re: Crocco Licenses
Вдобавок разбирающегося в особенностях различных юрисдикций
ответить
From Anonymous (unverified) Tue Oct 15 10:56:48 2024 UTC
Re: Re: Crocco Licenses
Возможно не в тему, но разве трэйдмарк это не отличное оружие против стандартизаторов? Поясню, допустим кто то написал код компилятора для языка программирования и тут пришел комитет стандартизации и решил высрать стандарт этого языка против воли его создателя, как это предотвратить? Я поначалу думал, что ваша лицензия на коде компилятора спасет, но ведь комитет сам код не пишет. А вот если зарегестрировать имя языка как торговую марку, то комитет стандарт может и напишет, но назвать его стандартом языка X без одобрения создателя уже не сможет, а значит не сможет и подменять понятия, выдавая свое поделье за изначальный язык. Да, трэйдмарк это насилие, на разве на войне против стандартизаторов не все средства хороши?
ответить
From Andrey V. Stolyarov Tue Oct 15 17:54:33 2024 UTC
Re: Crocco Licenses
Ага, конечно. Ну пойди попробуй зарегистрируй торговую марку (точнее, в российском законодательстве это называется "товарный знак"). NB: копирайт зарегистрировать довольно просто, для физлица процесс вполне преодолимый (сам когда-то регал, было и такое); патент уже без патентного поверенного получить нереально, но если не жалко кучу денег на этого паразита — то в принципе вроде бы реально; но вот товарный знак — это что-то такое высокое, минимум на год, и там косты (включая госпошлину) такие, что даже долларового миллионера жаба придушит насмерть.
А против комитетов есть ровно одно средство, зато действенное: публичный бойкот. Если бы те же Ритчи, Керниган и Томпсон не сопли жевали, а чётко заявили, что никакой стандарт Си не признАют, каков бы он ни был, то этот долбаный комитет мог бы хоть круглосуточно с бубнами плясать — никто бы никогда на их поделье внимания не обратил.
ответить
☞ From Столяридзе (unverified) Tue Sep 17 15:05:59 2024 UTC
Ошибка: 2 издание, книга 1, стр. 42
Повтор слова "ещё" на стр. 42 книги 1 второго электронного издания: "К сожалению, есть ещё ещё одна не очень приятная вещь,"
ответить
From Andrey V. Stolyarov Tue Sep 17 16:53:54 2024 UTC
Re: Ошибка: 2 издание, книга 1, стр. 42
Чувак, ты не столяридзе, ты баянидзе. Фффтыкать сюда.
ответить
☞ From cmustdie (unverified) Mon Sep 16 15:41:02 2024 UTC
The Definitive C++ Book Guide and List
На stack overflow один из самых популярных постов это "The Definitive C++ Book Guide and List [URL removed]
В этом посте представлены книги, одобренные "Association of C and C++ Users (ACCU)". Подскажите, знакомы ли вы с какой-либо книгой из этого списка и можете ли что-то рекомендовать?
ответить
From Andrey V. Stolyarov Mon Sep 16 17:32:06 2024 UTC
Re: The Definitive C++ Book Guide and List
Ни одна из этих книг не посвящена языку C++, только той ни на что не годной мерзости, которую сотворил комитет по стандартизации и его прихвостни.
Судя по всему, вы ошиблись сайтом, вам не сюда. Я категорически не понимаю, какого дьявола на мой сайт постоянно тянет подобную вам публику.
ответить
From cmustdie (unverified) Mon Sep 16 18:24:27 2024 UTC
Re: Re: The Definitive C++ Book Guide and List
Лично меня на ваш сайт тянет желание набраться мудрости и, конечно, желание стать в итоге хотя бы хорошим программистом.
ответить
From Andrey V. Stolyarov Mon Sep 16 18:32:54 2024 UTC
Re: The Definitive C++ Book Guide and List
Притащенная вами сюда ссылка на список ньюфажных книжек заставляет усомниться, что вы здесь найдёте для себя какую-то мудрость.
ответить
From Anonymous (unverified) Tue Sep 17 05:30:02 2024 UTC
Re: The Definitive C++ Book Guide and List
Автор данного сайта считает, что все стандарты языков программирования C и C++, да и вообще комитетские стандарты в целом хуже чем оригинальные версии языков (C89 и C++ до первого стандарта) и у него есть на то основания. Даже из этих версий автор предлагает использовать не всё подряд, а только нужное.
Соглашаться с ним или нет — это уже ваше дело, но в своём трёхтомнике автор использует свой собственный подход к обучению программированию, где осознанно отказывается от некоторых возможностей языков, которые там описаны.
Например в главе о паскале нет ничего про динамические массивы и это сделано специально. Вообще паскаль рассматривается как некий трамплин на пути обучения программированию, позволяющий освоить базовые концепции, которые в более продвинутых языках вроде C и C++ размазаны или вообще не входят в язык, в частности отличие процедур от функций и побочные эффекты, но которые необходимо понимать. чтобы быть программистом, понимающим что он делает, а не кодером-макакой.
Автор считает, что прежде чем переходить к другим языкам, надо вначале стать программистом, фокусируясь на паскале. То есть написать хотя бы несколько программ которыми добровольно пользуются другие люди, то есть не "попробуй, я тут программку написал", а чтобы им самим для чего-то нужна была такая программа. Если же начинать обучение сразу с C, то это с одной стороны не ускоряет ничего. поскольку некоторые базовые концепции всё равно придётся освоить, а с другой вредит понимают тех идей, которые в C вообще не используются, в том числе настолько что далает невозможным их освоение после.
Если я что-то переврал, прошу прощения, я просто кратко пересказал своё понимание идеи обучения программированию Столярова.
ответить
From Andrey V. Stolyarov Tue Sep 17 08:09:17 2024 UTC
Re: The Definitive C++ Book Guide and List
Ну, допустим, я это раскрыл, поскольку в целом изложено верно, хотя, конечно, причины не рассматривать динамические массивы в Паскале и причины не применять ничего из поделий комитетов, склепавших "стандарты" Си и Си++ (и отнюдь не при обучении, а вообще никогда, и не только этих комитетов, а по возможности вообще никаких), очевидно, не имеют между собой ничего общего.
Тут вопрос скорее в том, зачем вы время потратили на этот коммент.
ответить
From Доброжелатель (unverified) Tue Sep 17 10:48:53 2024 UTC
Комитетские стандарты Си
C89 — американский комитетский стандарт
ответить
From Andrey V. Stolyarov Tue Sep 17 11:09:41 2024 UTC
Re: Комитетские стандарты Си
Насколько я вижу, в C89 ничего нового не нагвоздили, просто описали практику, которая уже существовала в основных на тот момент поддерживаемых компиляторах (основных изменений в сравнении с классическим K&R — типы параметров в заголовках функций, модификатор const и enum'ы; компиляторов, не поддерживающих что-то из этого, на тот момент уже никто не делал). Это даёт возможность применять C89/C90/ANSI C в роли приемлемой спецификации — в частности, указывать компиляторам в качестве избранного диалекта. Впрочем, это было бы не нужно, если бы не появились более поздние "стандарты", начиная с C99, слишком одиозного, чтобы его можно было всерьёз обсуждать.
ответить
From Anonymous (unverified) Tue Sep 17 11:15:16 2024 UTC
Re: Re: Комитетские стандарты Си
Строчные комменты через // из C++ пожалуй всё-таки хорошая штука.
ответить
From Andrey V. Stolyarov Tue Sep 17 11:30:50 2024 UTC
Re: Комитетские стандарты Си
Вопрос так не стоит. Бойкот комитетских поделий ценен сам по себе, и "разбавлять" его подобным черри-пикингом неприемлемо.
ответить
From Доброжелатель (unverified) Tue Sep 17 13:02:49 2024 UTC
Re: Re: Комитетские стандарты Си
Были и необъяснимые бессмысленные сужения по сравнению с практикой:
o The ANSI draft has changed the syntax of labels. A label now must always be followed by a statement.
This means that code like this is no longer accepted:
If you have code like this, change it to look like this:
ответить
From Andrey V. Stolyarov Tue Sep 17 16:51:30 2024 UTC
Re: Комитетские стандарты Си
Кстати интересно, я на это не обращал внимания. Возможно, я слишком лояльно отнёсся к C89. Подумаю, что с этим сделать.
ответить
From C (unverified) Fri Sep 20 09:25:52 2024 UTC
Re: Re: Re: Комитетские стандарты Си
Где бытовала такая практика? В каких-нибудь самодельных реализациях, вроде Lattice C?
В UNIXовом pcc, например, ничего подобного не видно: cgram.y
Метка синтаксически часть помеченного ею statement, а не отдельная равноправлная конструкция.
ответить
☞ From cmustdie (unverified) Mon Sep 16 09:24:02 2024 UTC
Путь начинающего программиста
Добрый день! Закончил читать 3ех томник. Спасибо огромное за ваш труд. Сейчас в свое удольствие пишу проекты на С, но также задумываюсь о будущем. Куда бы вы посоветовали посмотреть (кроме веба конечно) в качестве карьеры программиста? Гейм дев? Системное программирование?
ответить
From Andrey V. Stolyarov Mon Sep 16 10:22:24 2024 UTC
Re: Путь начинающего программиста
Для начала поищите в сети как-нибудь на досуге "буквенные наращения" и больше никогда не употребляйте конструкции, подобные этому вашему кошмарному "3ех томник".
А так — вы ответ знаете сами: кроме веба. Собственно, практически всё, кроме веба. Ну, ещё поостерегитесь работать в банках, это тоже отупляет.
ответить
From ? (unverified) Mon Sep 16 12:46:57 2024 UTC
Re: Путь начинающего программиста
> Собственно, практически всё, кроме веба.
А вся огромная смартфонная индустрия разве не туда же?
ответить
From Andrey V. Stolyarov Mon Sep 16 13:22:01 2024 UTC
Re: Путь начинающего программиста
В принципе да, но тут, как говорится, не всё так однозначно. Когда пользователь ставит очередное приложение, он всё-таки понимает, что устанавливает именно программу, а не что-то другое. Поэтому если с вебщиками (т.е. теми, кто всерьёз полагает, что браузер — это платформа для разработки) всё с самого начала понятно, это биомусор, который требуется срочно утилизировать, — то про клепателей мобильных приложений, как ни странно, такого сказать нельзя.
ответить
From Мартышка (unverified) Mon Sep 16 13:44:18 2024 UTC
Re: Re: Путь начинающего программиста
А почему работа в банках отупляет? Никогда не работал в банке, просто интересно узнать мнение специалиста.
ответить
From Andrey V. Stolyarov Mon Sep 16 14:14:44 2024 UTC
Re: Путь начинающего программиста
Я тоже никогда не работал в банках, я только наблюдал результаты.
Моё личное предположение состоит в том, что в банках уровень зарплат выше, чем в среднем по рынку, но вместо конкуренции за эти рабочие места возникает практика "пристройства" всевозможных родственников и прочих "своих" (у меня нет иного объяснения удивительно низкому уровню подготовки программистов, работающих в банках). Когда попадаешь в среду, состоящую из тупых, сам становишься тупым, это не новость совершенно.
На самом деле вполне возможно, что я вижу не всю картину и не до конца понимаю происходящее, но факт тот, что банковских программистов (как бывших, так и действующих) я видел довольно много, но людей серьёзного уровня среди них не видел вообще ни одного. Хотя при том уровне зарплат банки могли бы позволить себе нанимать специалистов получше.
ответить
From Anonymous (unverified) Mon Sep 16 21:22:48 2024 UTC
Re: Путь начинающего программиста
Я сам работал в банках программистом, и мне не понравилось.
Основная проблема в том, что банки - это не IT компании, как бы они ни утверждали обратное (а прихвастнуть собой они любят). Банкам по большей части интересно только зарабатывание денег, и они очень любят направлять направлять программистов на те задачки, которые им эти деньги принесут. В частности, в небольших банках бывает популярен подход "раз-раз-и-в-продакшен" (на самом деле там не "раз-раз", но не хочу здесь неприличные словечки употреблять): выкатим в прод что-то такое сырое, полурабочее, но позволяющее отжать лишнюю копейку, назовем это словом Minimum Valuable Product, потом на каком-нибудь квартальном отчете перед большими начальниками гордо отрапортуем, какие мы молодцы, как круто мы все достигли, какая мы классная команда. А то, что в законченном продукте (пусть он и Minimal) баги на проде не имеют право на существование (и никто меня никогда не убедит в обратном), никого не волнует - как же так, копеечку профукаем. И сидит программист, смотрит на эту кучу говнокода и плачет кровавыми слезами за то, что на такой работе нифига квалификации не набрался.
Ну зато денюжков неплохо платят, да.
ответить
☞ From Resp (unverified) Wed Sep 11 23:22:24 2024 UTC
Одноплатники
Рассматриваю идею приобретения одноплатника для использования в качестве роутера, сервера для почты и Талассы.
Правильно ли я понимаю, что единственный разумный вариант - поиск первого Raspberry, поскольку на всех остальных прорва ненужных мощностей и соответствующее энергопотребление?
Вы, вроде, как раз первый Raspberry используете в роли роутера, но также упоминали, что работали с Nano Pi, Orange Pi и другими. Поскольку вы в этом явно разбираетесь лучше, то не могли бы вы подсказать появились ли какие-то альтернативы первой Raspberry или же стоит попробовать отыскать именно её?
ответить
From Andrey V. Stolyarov Thu Sep 12 09:45:31 2024 UTC
Re: Одноплатники
Первую Raspberry в качестве роутера я использовать давно перестал. Дело в том, что у неё всего один сетевой интерфейс, приходится на нём поднимать vlan'ы, но для этого нужен свич, умеющий эти самые vlan'ы, а это далеко не всякий свич умеет. Сейчас у меня в роли роутеров Orange Pi R1. А ещё я не знаю, как сейчас с поддержкой первой Raspberry Pi в соответствующих дистрах линукса, и не удивлюсь, если плохо: в наше безумное время такое вполне возможно.
У Orange Pi R1 другая проблема: мало оперативной памяти. Честно говоря, я не пробовал на ней поднимать Apache, но не исключаю, что его "современным" версиям там окажется тесновато.
ответить
From Анон (unverified) Thu Sep 12 14:29:44 2024 UTC
Re: Одноплатники
https://forum.armbian.com/topic/28792-after-update-etcnetworkinterfaces-ignored/
Пожалуйста, будьте осторожны и внимательны при выборе armbian в качестве основной операционной системы для одноплатника. Существует риск столкнуться с проблемами, из которых выбраться может занять много времени. Я сам столкнулся с аналогичной ситуацией, как у автора поста на форуме, только я не обновлял систему, а установил с нуля, и, к сожалению, не смог найти решение, потратив при этом значительное количество времени. Вероятно, сеть можно было бы настроить как навязывают разработчики через netplan/systemd-network или что-то подобное, однако у меня не было желания углубляться в изучение и переписывать свои конфигурации с нуля. Еще хочу добавить, что переход на sysvinit лично мне не помог, возможно из-за моих кривых рук. Однако важно одно: раньше с сетью проблем не было.
ответить
From Andrey V. Stolyarov Thu Sep 12 15:14:23 2024 UTC
Re: Re: Одноплатники
> netplan/systemd-network
Не имеют права на существование. Вообще. Я даже сомневаюсь, что команда ip имеет право существовать.
По поводу сетки есть стопроцентно работающее решение: перейти на SysVinit (у меня с армбианом это получалось пока что всегда), добиться, чтобы работал /etc/rc.local, выпилить все дебиановские пляски с ifup/ifdown и делать всю настройку сети явными командыми /sbin/ifconfig и /sbin/route прямо из rc.local.
ответить
From Владислав (unverified) Thu Sep 12 15:22:49 2024 UTC
Если решите попробовать что-нибудь из *BSD
Использовал OrangePi R1 512MB в течении года в качестве роутера. Ставил на него OpenBSD 7.4. Иногда случались Kernel Panic. Так и не понял по какой причине.
Недавно поменял его на NanoPi R2S 1GB. Планировал поставить FreeBSD 13.3, но как оказалось, у них драйвер для контроллера Realtek RTL8153B находится в подвешенном состоянии: система после загрузки просто не "видит" второй порт. Его можно заставить работать, дав одну команду, но насколько надёжно он будет работать дальше -- неясно. На форуме по приложенной ссылке сообщили, что в OpenBSD поддержка этого контроллера есть, поэтому снова поставил OpenBSD, только версии 7.5. Пока полёт нормальный. NetBSD не пробовал.
Также скорее всего вам понадобится U-boot. Сам компилировал его только один раз для OrangePi R1. Как я понял, компиляция U-boot дело НАСТОЛЬКО сумбурное, что притрагиваться к нему больше желания нет. Для NanoPi R2S брал из pkg-пакета FreeBSD c сайта pkgs (dot) org. Оснорожно (!), сайт с JS. Правда есть ещё один известный мне вариант достать скомпилированный U-boot. В одном треде на форуме FreeBSD предлогали использовать U-boot, скомпилированный проектом Armbian.
ответить
From Resp (unverified) Mon Sep 16 21:24:02 2024 UTC
Re: Если решите попробовать что-нибудь из *BSD
Имеет ли смысл смотреть в сторону NanoPi R3S 2GB? Там где-то пишут, что нагревается он послабее NanoPi R2S, зато оперативки побольше, хотя в принципе для моих целей столько, наверное, не нужно.
P.S. Что вы, кстати, можете сказать про нагрев NanoPi R2S?
Касательно своего исходного комментария - в целом у меня есть коробочный роутер с openwrt (даже он туда с трудом влезает), поэтому в принципе использование одноплатника в роли роутера не принципиально, но желательно.
P.S. Пока выбираю между Orange Pi R1 и NanoPi R2S/R3S, причем, к моему удивлению, первый раздобыть, кажется, проще.
ответить
From Владислав (unverified) Thu Sep 19 07:54:21 2024 UTC
Re: Re: Если решите попробовать что-нибудь из *BSD
> Имеет ли смысл смотреть в сторону NanoPi R3S 2GB?
Про данную модель ничего сказать не могу.
> P.S. Что вы, кстати, можете сказать про нагрев NanoPi R2S?
И NanoPi R2S и OrangePi R1 греются. Конкретные цифры сказать не могу. Но скажу, что точно стоит задуматься о покупке радиатора на процессор или корпуса. Не видел, чтобы для OrangePi R1 продавали корпус. Поэтому сам купил для него радиатор. Для его модификафии -- OrangePi R1 Plus -- корпуса продаются. NanoPi R2S тоже продаётся вместе с корпусом.
Также хотел бы отдельно сказать, что у меня так и не получилось на NanoPi R2S (стоит OpenBSD 7.5) заставить нормально работать второй Ethernet порт, на котором контроллер Realtek RTL8153B. Через час работы перестаёт работать и начинает сыпать ошибки. Поэтому продолжу использовать R2S только с одним портом.
Начинаю потихоньку заглядываться на упоминавшиеся где-то в гостевой книге мини-ПК на Intel N100. В одной приглянувшейся мне модели используются одинаковые Ethernet контроллеры от Intel, а с ними вроде легче, чем с Realtek.
ответить
From Oliver (unverified) Tue Sep 17 06:12:02 2024 UTC
Re: Если решите попробовать что-нибудь из *BSD
Разнообразие ОС - это есть хорошо, только у меня есть просьба к почетателям тех же систем BSD раскрывать нюансы работы этих систем более детально. Иначе получится, как вышло у меня, когда я начитался лестных отзывов о OpenBSD, установил ее себе, а оказалось, что работать в ней достаточно некомфортно бывает. Я уже описывал свой опыт, но повторюсь: лично у меня система работала заметно медленее чем Линукс, и это было даже заметно при выполнении команд в терминале. Файловой системы EXT4 на тот момент она не видела, то есть если бы у меня был бы раздел с данными в формате EXT4, доступа к ним не было. Возможно, что сегодня этих проблем нет, но вот тогда они были, и при том о тормозах системы я читал от других ее пользовалей. Не спорю, что у конкретной ОС есть свои плюсы, но хотелось бы чтобы помимо плюсов упоминались и явные минусы, чтоб люди за зря не теряли времени. С уважением
ответить
From Andrey V. Stolyarov Tue Sep 17 08:15:35 2024 UTC
Re: Если решите попробовать что-нибудь из *BSD
Про замедление довольно странно, и вроде это тут где-то обсуждали уже. Но вот весь остальной текст вашей претензии сводится к банальному "там не получается так, как я привык". По-моему, несколько странно ожидать от другой системы, что в ней всё будет так же.
ответить
From . (unverified) Tue Sep 17 18:26:37 2024 UTC
Re: Re: Если решите попробовать что-нибудь из *BSD
Странные у вас претензии. Я бы понял, если бы это была претензия к кому-то конкретному, кто вас обманул, обещал рассказать всё, ничего не утаивая, но выпятил плюсы и скрыл минусы. Ну или, если бы весь интернет был завален дифирамбами в адрес BSD-подобных систем, тогда ещё можно было бы расценить ваш текст как крик души обращённый ко всем, в стиле "люди, доколе?" А так, какой-то детский сад получается, с детскими обидами, честное слово...
Ну а вообще, задать конкретный вопрос чтобы получить нужную вам информацию является вашей ответственностью. Глупо ожидать от короткого сообщения в гостевой книге, что в нём будет сразу представлена абсолютно полная информацию по заинтересовавшей вас теме. А уж требовать этого и вовсе некорректно.
PS: "Почитатели", "почитать" пишется через букву "и".
ответить
From Oliver (unverified) Wed Sep 18 13:52:00 2024 UTC
Re: Re: Re: Если решите попробовать что-нибудь из *BSD
> Странные у вас претензии.
Совсем не странные. Если есть желание попиарить BSD системы, тогда следует раскрывать и минусы, которые имеются в сравнении с тем же Линуксом. Что получит человек, если он вместо Линукса установит ту же OpenBSD, с какими проблемами он может столкнуться и прочее. По поводу получение нужной мне информации, я к счастью привык ее самостоятельно искать на просторах Интернета, и да, там же я и нашел людей, у которых с OpenBSD были похожие проблемы.
P.S. Подозреваю, что NetBSD еще меньше приспособлена для комфортной работы.
ответить
From Andrey V. Stolyarov Wed Sep 18 14:19:53 2024 UTC
Re: Если решите попробовать что-нибудь из *BSD
Только мне это напоминает россказни виндузятников про линукс?
ответить
From Oliver (unverified) Fri Sep 20 15:50:14 2024 UTC
Re: Re: Если решите попробовать что-нибудь из *BSD
:) Я себя тоже на этой мысли подловил.
В связи с пользователями окошек, кстати, может возникнуть ситуация примерно следуюущего рода. Человек нашел Вашу книгу и решил установить себе Юникс. Информацию о том, что бы себе установить, с большой долей вероятности, он будет искать в том числе и на этой гостевной страничке. Это - весьма логично. Не зря, время от времени тут появляются вопросы касательно выбора дистра, и там же иногда - советы попробовать BSD. Нет претенизий против советов такого рода, только попутно следовало бы отобразить некоторые особенности работы BSD систем в сравнении с Линуксом, ибо может получиться нехорошая ситуация: человек, который живет на окошках, попыхтит, но установит себе тот же OpenBSD. После того, как система будет настроена, он констатирует, что помимо отсутствия привычного ему софта, система еще и тормозит довольно ощутимо. Такой условный "я" скорее всего через какое-то время намается с тормозами и просто снесет эту систему, но окошек пользователь вывод сделает примерно следующий: Юникс мало того, что не имеет мне привычных программ, так еще и заметно тормозит, а потому - да ну его, пойду скачаю себе с торрентов студию, и буду учиться на C# писать. И так мы потеряем потенциального программиста
ответить
☞ From Parthen (unverified) Wed Sep 11 02:12:31 2024 UTC
Геймдев
Пилю я в общем игрушечку, что-то по типу Dwarf Fortress, только сильно проще (есть n персонажей, которые бегают по полю и исполняют общий список наших приказов, мы же двигаем виртуальную камеру).
Хочется у них реализовать field of view, чтобы игрок видил актуальную карту только в поле зрения его персонажей (а вне поля зрения - информация, актуальная на тот момент, когда персонаж там проходил). Само поле - двумерный массив из struct cell.
Спрашивается, как это реализовать? Мне не приходит ничего в голову кроме как держать две копии этого поля: с полной и неполной информацией. Но этот вариант мне кажется слишком дубовым (в будущем предполагается мультиплеер, так что карта может быть огромной, дублировать ее так себе).
Пока я решил вообще это убрать, чтобы игрок всю карту видел. Но вдруг здесь кто предложит что-нибудь поэлегантнее.
ответить
From Andrey V. Stolyarov Wed Sep 11 08:55:35 2024 UTC
Re: Геймдев
Тут всё сильно зависит от количества таких клеток, которые видимы. Если их пара десятков, то проще всего хранить их (да хоть бы и списком) вместе со всей остальной информацией игрока и, прежде чем клетку показать, проверять, в списке она или нет. На паре десятков элементов ничего лучше линейного поиска не придумано.
Если же их сильно больше, то тут уже возможны варианты, вплоть до того, что, наоборот, вместе с информацией каждой клетки хранить битовую строку, показывающую, кому из игроков эта клетка доступна для просмотра.
ответить
From Parthen (unverified) Wed Sep 11 13:20:20 2024 UTC
Re: Re: Геймдев
Это бы сработало, если вне поле зрения игрок бы видел ничего/туман войны. Но требуется-то показывать неактуальную информацию, которую хранить надо как-то.
Просто-то поле зрения можно одной процедурой сделать, пробежавшись по радиусу вокруг игрока.
ответить
From Andrey V. Stolyarov Wed Sep 11 13:38:29 2024 UTC
Re: Геймдев
Тогда смотря как быстро/часто состояние карты меняется. Если не очень быстро и не слишком часто, то можно для каждой клетки хранить её актуальное состояние плюс список её состояний, видимых для каждого из игроков, причём в список включать только игроков, для которых видимое отличается от актуального, а когда он по правилам узнаёт, чтО там на самом деле, его запись из списка выбрасывать. Либо можно для каждого игрока хранить список того, чем его виденье карты отличается от актуального. Либо... ну, ещё что-нибудь :-)
Вообще я, разумеется, не знаю, что вы там за игру придумали, что собой представляет карта и т.д. Я, например, не знаю, есть ли у вас такой вариант "игрок вообще не знает ничего про такую-то клетку" (если да, то, возможно, кроме списка "собственных" значений клетки для отдельных игроков, имеет смысл ещё хранить битовую строку "кто из игроков вообще хоть раз видел эту клетку"). Так что и структуры данных за вас не придумаю, и никто не придумает, не зная всей предметной области. Фантазию проявите :-)
Конечно, полная копия карты — это идея слишком лобовая, хотя в некоторых случаях сойдёт и такое.
ответить
From Parthen (unverified) Wed Sep 11 14:00:34 2024 UTC
Будем думать
Идеи взял на заметку, попробую как-нибудь сотворить.
А карта простенькая, двумерный массив из struct cell:
enum terrain { GROUND = '.', /* NONE */ BEDROCK = '%', DIRT = '#', WATER = '~', HOLE_UP = '^', HOLE_DOWN = '_', };
enum entity { NONE, DEBRIS = '*', FOOD = '$', PLAYER = 'P', ANT = 'p', BUG = '@',
};
struct cell { enum terrain terrain; enum entity entity; };
ответить
From Andrey V. Stolyarov Wed Sep 11 15:49:10 2024 UTC
Re: Будем думать
1. из приведённого фрагмента совершенно никак не понятно, что вы со всем этим собираетесь делать;
2. ну и какая сука вас научила enum'овые идентификаторы набирать на верхнем регистре? Специально же в книжке целый параграф на тему, откуда эта хрень взялась и почему так делать не надо;
3. между прочим, вы правда хотите, чтобы этот ваш struct cell занимал восемь байт вместо очевидных двух? Если нет, поменяйте тип обоих полей на char и не делайте вид, что пишете на чём-то строго типизированном :-D
ответить
From Parthen (unverified) Wed Sep 11 16:46:24 2024 UTC
Re: Re: Будем думать
>из приведённого фрагмента совершенно никак не понятно, что вы со всем этим собираетесь делать
В структуре ячейки одновременно хранится тип поверхности и тип сущности, которые на ней находится. При рендере на месте ячейки печатается сущность, если ее нет - поверхность (функцию приводить не буду, долго расписывать как камера работает).
Благодаря enum можно не задумываться какой там символ у нас что обозначает а использовать имена ( if(level[y][x].terrain == ground), например ). Ну и менять эти символы-обозначения проще.
>ну и какая сука вас научила enum'овые идентификаторы набирать на верхнем регистре
Я с радости полез читать код программ, которыми я пользуюсь, вот где-то в них и подцепил, наверное. Ну и интуитивно как-то чувствуется, что enum должен отличаться от переменных.
> Специально же в книжке целый параграф
с. 167, если кому надо. Буду знать
>между прочим, вы правда хотите, чтобы этот ваш struct cell занимал восемь байт вместо очевидных двух? Если нет, поменяйте тип обоих полей на char и не делайте вид, что пишете на чём-то строго типизированном :-D
Типо char terrain и char entity? Какой-то трюк, за такое по рукам не бьют?
ответить
From Andrey V. Stolyarov Wed Sep 11 17:15:31 2024 UTC
Re: Re: Re: Будем думать
> интуитивно как-то чувствуется, что enum должен отличаться от переменных
Ага, а от функций? А от типов? За что именно константам такое ЩЩЩастье?
И вот уж enum'овые константы от макросов точно должны отличаться.
> а такое по рукам не бьют?
Нет, не бьют. Я вообще не помню, видел ли когда-нибудь переменные типа enum.
ответить
From Parthen (unverified) Wed Sep 11 17:51:38 2024 UTC
Re: Re: Re: Re: Будем думать
>Ага, а от функций? А от типов? За что именно константам такое ЩЩЩастье?
Честно? Я и их хотел по-другому называть. Вовремя прочитал, что всякие CamelCase не приняты.
>И вот уж enum'овые константы от макросов точно должны отличаться.
Справедливо
ответить
From мимокрокодил (unverified) Thu Sep 12 11:17:38 2024 UTC
Re: Re: Будем думать
не делайте вид, что пишете на чём-то строго типизированном
А если, например, всё же сделать такой вид, но компилировать с ключиком --short-enums? Просто как-то такой вариант представляется более, эм... "помехоустойчивым", что ли (когда накрывает ОКР, но Rust по-прежнему фу-фу-фу :)) По крайней мере, точно лучше всяких __attribute__((packed)) и прочей уродующей исходник хрени. Или лишнее паникёрство?
ответить
From Andrey V. Stolyarov Thu Sep 12 13:19:24 2024 UTC
Re: Будем думать
Все целые, включая enum'ы, в Си совместимы по присваиванию. По факту это делает переменные типа enum бессмысленными. Ну, почти. Единственное реальное проявление этой вашей "помехоустойчивости" можно наблюдать, если соответствующее поле использовать в заголовке switch, а потом в case'ах забыть рассмотреть какой-то из вариантов; тогда компилятор радостно выдаст предупреждение. Но что-то мне сдаётся, что до такого в рассматриваемой программе дело не дойдёт.
А вот ключики вроде этого --short-enums — это уже просто откровенное asking for trouble. Прикиньте, как это всё будет выглядеть, если чуток что-то напутать в Makefile и один модуль, использующий этот тип, откомпилировать с таким ключиком, а другой (включающий, заметим, тот же заголовочник!) — без ключика. И всё это вместе слинковать. Тот случай, когда ни хрена не работает, смотришь в дебаггер и ничего, кроме "мистика какая-то" в голову не приходит.
Про __attribute__ я вообще молчу, по рукам кувалдой за такое.
ответить
☞ From 1234567890 (unverified) Tue Sep 10 09:23:24 2024 UTC
Почему конечный автомат не может управлять наступлением событий?
В главе про событийно-ориентированное программирование, что конечный автомат не может управлять наступлением событий. Но ведь может. Например, мостовой кран: "каретка движется вперёд по мосту" - это состояние. В конце балки крана можно поставить путевой выключатель. И тогда, когда каретка упрётся в путевой выключатель, будет подано напряжение для реверсирования контактора, и двигатель будет вращаться в обратном направлении, "мостовой кран" перейдёт в состояние "движение назад". Вот, получается, сам мостовой кран сам спровоцировал событие на реверс.
ответить
From Andrey V. Stolyarov Tue Sep 10 09:33:04 2024 UTC
Re: Почему конечный автомат не может управлять наступлением событий?
Ваш вопрос полностью лишён смысла, поскольку этот ваш кран никакого отношения к конечным автоматам не имеет. А в целом я консультирую только в рамках менторинга, но не думаю, что лично для вас это может иметь хоть какой-то смысл.
ответить
From 1234567890 (unverified) Tue Sep 10 09:55:15 2024 UTC
Re: Re: Почему конечный автомат не может управлять наступлением событий?
Но в курсе "системы управления электроприводов" был приведён пример как раз такого мостового крана, и рассматривался он как конечный автомат. Можно даже составить диаграмму конечного автомата, который сам себя выключает: Q0 ^ r1 -> Q1 Q1 ^ !r1 -> Q0 Где Q0 - выключен, Q1 - в процессе самовыключения (то есть выполняет действия, в резульате которых произойдёт событие !r1)
ответить
From Andrey V. Stolyarov Tue Sep 10 10:11:17 2024 UTC
Re: Re: Re: Почему конечный автомат не может управлять наступлением событий?
Сделайте одолжение, найдите себе другой сайт и там обсуждайте с кем-нибудь бредни подобного рода. Если вас интересует содержание чьего-то курса, по нему задавайте вопросы авторам курса, а не мне.
ответить
From 0987654321 (unverified) Wed Sep 11 05:34:07 2024 UTC
Re: Почему конечный автомат не может управлять наступлением событий?
сам мостовой кран сам спровоцировал событие на реверс
Есть хорошее выражение на эту тему — post hoc ergo propter hoc (после этого — значит по причине этого).
Если уж закапываться в ТАУ и иже с ней, кран здесь — исполнительное устройство, которое, действительно, пнул конечный автомат (сформировал управляющий сигнал, например, переключив обмотки двигателя), получив от условного концевика т.н. оповестительный сигнал. Автомат переключается между условными "нулем" и "единицей", сигнал же к переключению подаёт ему кто-то извне, автомату остаётся только ждать,
надеяться и верить. Вместо крана могла бы быть раскручивающаяся на верёвке хреновина, способная дать кому-нибудь по макушке; опять же, о наступлении этого события конечный автомат оповещает некий датчик, сама эта хреновина состояние не хранит и не контролирует наступление события, прям кидаясь кому-нибудь отвесить. Мизинец на ноге тоже как бы не сам "решает", что надо звездануться о ножку дивана.ответить
From Andrey V. Stolyarov Wed Sep 11 08:48:04 2024 UTC
Re: Почему конечный автомат не может управлять наступлением событий?
В учебниках по курсам вроде упомянутого ТСом может встречаться что угодно, поскольку их авторы далеко не всегда сами понимают предмет, который описывают. В действительности управляющее устройство может содержать в себе конечный автомат (не быть им, а именно содержать его в себе, ведь конечный автомат — это абстракция), но это будет означать, что и моторы, и концевики рассматриваются как нечто внешнее: в частности, автомат понятия не имеет о том, как конкретно выдача управляющего воздействия приводит (во внешнем по отношению к автомату мире) к возникновению события "сработал концевик". Если бы управляющее устройство учитывало больше сведений об окружающем мире, например, "знало" бы (примерно) скорость движения каретки, а концевик применяло бы только для конфирмации, логику работы управляющего устройства не получилось бы описать конечным автоматом, пришлось бы привлекать абстракции более сложные. И уж совсем очевидно, что конечным автоматом описывается именно логика работы одной простенькой схемки, а не весь кран целиком.
Но это всё неважно. Судя по всему, аноним под ником 1234567890 безнадёжен: у меня чёткое ощущение, что он перепрыгнул первый том, поскольку те, кто его не перепрыгивают, таких вопросов обычно не задают.
ответить
☞ From 1234567890 (unverified) Tue Sep 10 09:08:34 2024 UTC
Где найти применение параллельным процессам (на практике)
Не могу найти случай, когда было бы уместно распараллелить программу.А попрактиковаться хочется. Я правильно понимаю, что для того, чтобы оформить часть программы в отдельный "процесс", нужно для начала, сделать такую программу, которая равномерно теряет в скорости из-за количества функций?
ответить
From Andrey V. Stolyarov Tue Sep 10 09:35:19 2024 UTC
Re: Где найти применение параллельным процессам (на практике)
Этот ваш вопрос также лишён смысла. Вообще параллельное программирование — это то, чего следует избегать, пока есть такая возможность, а не искать намеренно приключений себе на задницу, как это пытаетесь сделать вы.
ответить
☞ From Dsaabaveyex (unverified) Sun Sep 1 19:14:54 2024 UTC
Континуации в идеальном языке программирования
Я пока не до конца понял континуации, но правильно ли я понимаю, что их можно будет реализовать в упоминаемом вами идеальном языке, посколько в нем будет реифицировать стек?
Имеют ли континуации какой-то смысл в императивном программировании?
ответить
From Andrey V. Stolyarov Sun Sep 1 20:36:36 2024 UTC
Re: Континуации в идеальном языке программирования
В нём можно будет реализовать одну из тех вычислительных моделей, где континуации есть — например, Scheme. Как? Примерно так: http://www.intelib.org/intro.html.
Реификация стека тут совершенно ни при чём, поскольку ваш второй вопрос
Имеют ли континуации какой-то смысл в императивном программировании?
вполне законный, и ответ на него вполне однозначный: конечно же, нет.
ответить
From Dsaabaveyex (unverified) Sun Sep 1 21:39:29 2024 UTC
Re: Re: Континуации в идеальном языке программирования
конечно же, нет
Примерно так и думал, спасибо, что развеяли сомнения.
P.s. про InteLib знаю и вашу статью про реализацию континуаций в InteLib Scheme бегло просматривал. А также жду дальнейших обновлений (как минимум сайта).
ответить
☞ From jjg (unverified) Fri Aug 30 18:19:27 2024 UTC
Событийно-ориентированное программирование
В главе про событийно-ориентированное программирование приведены реализаця структуры Session. А зачем, если можно хранить сообщения в дополнительном поле у списка дексрипторов. Там где cur->fd, добавить поле cur->buffer, и тогда у каждого сообщения свой буфер сделать. А ввод сделать неблокирующим, тогда никто не остановит сервер в момент записи.
ответить
From Andrey V. Stolyarov Fri Aug 30 19:25:17 2024 UTC
Re: Событийно-ориентированное программирование
Например, затем, что не всякому дескриптору нужен буфер. Вот слушающему сокету, например, не нужен. Если бы в программе были дейтаграммные сокеты, им тоже не был бы нужен никакой буфер. А некоторым сокетам может, наоборот, потребоваться буфер на вывод.
Что касается предложения делать ввод неблокирующим — видимо, вы вообще не поняли, о чём идёт речь.
ответить
From jjg (unverified) Fri Aug 30 21:05:20 2024 UTC
Re: Re: Событийно-ориентированное программирование
А, понял. А на счёт неблокирующего ввода-вывода, имеется ввиду, что он всегда неблокирующий в таких программах? Но в случае если заранее нужно получить известное количество данных (может цифру, означающую что-нибудь), то ведь тогда можно чтобы программа и заблокировалась, получая данные. Известно же, что она точно не останется так в блокировке надолго.
ответить
From Andrey V. Stolyarov Fri Aug 30 21:14:41 2024 UTC
Re: Re: Re: Событийно-ориентированное программирование
Ответы на ваши вопросы в тексте книги даны в явном виде, читайте внимательнее.
ответить
☞ From Андрей (unverified) Fri Aug 30 12:17:42 2024 UTC
Книга Страуструпа
Здравствуйте Нахожусь в процессе чтения (и перечитывания) вашего трёхтомника. Заметил, что и на страницах, посвящённых C++, и на сайте, вы упоминаете второе издание книги Страуструпа. Захотел найти и прочитать и сравнить (у самого на руках есть какое-то "специальное издание", которое наобум покупалось перед поступлением в вуз, попытки прочитать провалились). Вопрос - где достать английскую версию? Я не смог найти. Зато русская версия нашлась (не сканы, до конца не уверен, что это правильная книга) как залитая кем-то из аж из балтийского "военмеха".
ответить
From Andrey V. Stolyarov Fri Aug 30 12:41:28 2024 UTC
Re: Книга Страуструпа
> "специальное издание"
Насколько я помню, оно вышло вскоре после третьего, и по-моему оно было посвящено "знаменательному", чтоб его, событию — формальному принятию первого стандарта C++.
Собственно говоря, надо было не книги издавать, а похороны устраивать. И поминки.
> попытки прочитать провалились
Ещё бы, гыгыгы.
По вашему основному вопросу: в мире корпорастов и копирастов добыть нужную книгу нетривиально. У меня её в электронном варианте нет, где-то валяется бумажная, но я сейчас сильно не там, где она валяется.
ответить
From Андрей (unverified) Fri Aug 30 15:02:04 2024 UTC
Re: Re: Книга Страуструпа
Понял, спасибо Как будет ещё время попробую поискать где-нибудь ещё, пока поиски по открытым библиотекам забугорным результата не дали. Есть всё что угодно, но только не первые два издания. Характерно, что на официальном сайте Страуструпа есть отдельная страничка, посвящённая второму изданию, но под аннотацией красуется: "This book was published in 1991 and is not up-to-date. I have written more recent books on C++. You can find information about C++ from my homepage." Зато можно скачать предисловие и 4 странички вступительной главы про парадигмы.
Ну и просто "для протокола": 370 страниц русского перевода против 1130. 250 страниц посвящено стандартной библиотеке, а прежде них ещё 30 в самом начале книги "обзор стандартной библиотеки" сразу после главы о парадигмах программирования. В ней сразу про контейнеры и алгоритмы. А указатели и структуры только в пятой главе. А ещё в ней код напечатан жирным курсивом TimesNewRoman!
ответить
From Eugene_Palkowski (unverified) Fri Aug 30 16:08:30 2024 UTC
Re: Книга Страуструпа
За книгами на английском - на libgen.is, сам качал оттуда 2 и 3 издание. Ещё они есть на rutracker.org.
ответить
From Андрей (unverified) Fri Aug 30 19:49:17 2024 UTC
Re: Re: Книга Страуструпа
Большое спасибо, нашёл на libgen! На рутрекере проверил, не нашёл, но может плохо искал.
ответить
From Artem (unverified) Sat Aug 31 02:53:53 2024 UTC
Re: Re: Re: Книга Страуструпа
На рутрекере, похоже, нет английской версии 2-го издания, зато есть русский перевод, которого нет на libgen (или есть, но в вордовском формате):
https://rutracker.org/forum/viewtopic.php?t=2226992
В раздаче весьма доставляют два момента: во-первых, описание раздачи не соответствует содержимому; во-вторых, невзирая на "во-первых", её всё ещё кто-то раздаёт уже 15 лет.
ответить
☞ From Newb (unverified) Fri Aug 30 11:16:08 2024 UTC
Взаимодействие неродственных процессов
Добрый день. В книге про ОС вы пишете, что named pipes можно использовать для взаимодействия процессов, у которых не общий родитель. Еще вы отмечаете, что вот этот named pipe работает через файл.
Я не так много работал с межпроцессным взаимодействием, но каждый раз, как приходит идея общаться через файл, хочется сразу забыть этот способ и быстро придумать что-то другое. Есть ощущение (которое вот прям строго доказать я не могу), что это не надежно и не безопасно.
Подскажите, пожалуйста, верны ли мои опасения относительно взаимодействия через файл? Если да, то применимо ли это все к named pipes? Или с ними все интереснее устроено, и можно пользоваться, не переживая?
А если так действительно лучше не общаться, то что остается? Есть сокеты, конечно. Но не перебор ли это раскатывать сокеты для переброса данных между 2 процессами?
ответить
From Andrey V. Stolyarov Fri Aug 30 11:38:15 2024 UTC
Re: Взаимодействие неродственных процессов
Какой ещё нахрен "через файл"?! Именованный канал использует файлы специального типа (FIFO), которые нужны только для выполнения open. После этого получается точно такой же канал, на диске ничего не хранится. Собственно, файлы типа FIFO (так же точно, как и файлы устройств, и файлы сокетов) в принципе не предусматривают хранения информации на диске, они состоят из одного inode'а.
И нет, сокеты — никоим образом не перебор, так может казаться только когда сокеты ещё не освоены.
В принципе если рассматривать взаимодействие действительно через файл, т.е. когда информация передаётся между "действующими лицами" через честный файл на диске, то там да, получаются весьма нелепые пляски, в книге об этом рассказывается в следующей части, в главе 7.4. Но ни к FIFO, ни к сокетам это никакого отношения не имеет.
ответить
From Newb (unverified) Fri Aug 30 12:55:55 2024 UTC
Re: Re: Взаимодействие неродственных процессов
Хм...значит, упустил я что-то...спасибо
Тогда, при той же задаче, в выборе между сокетом и именованным каналом следует руководствоваться вопросом: требуется двустороннее и одностороннее общение?
ответить
From Andrey V. Stolyarov Fri Aug 30 14:52:12 2024 UTC
Re: Взаимодействие неродственных процессов
Вообще говоря, не совсем. FIFO хороши тем, что их можно создавать командами в командной строке и перенаправлять ввод-вывод в них и из них, то есть они тривиальны в обращении. Скажем, для скрипта на Bourne Shell'е FIFO'шки прекрасно подходят, а вот чтобы скрипт работал через сокет — ну это можно себе представить, но как-то тяжело.
Я бы сказал, что скорее сокеты есть смысл использовать, когда имеется внятная клиент-серверность и все участники взаимодействия — программы, написанные на языках общего назначения. В этом случае с сокетами может получиться сильно проще, чем с FIFO, особенно когда сервер один, а клиентов много.
ответить
☞ From guest (unverified) Tue Aug 27 08:58:42 2024 UTC
Про упомянутую вами обделённость в коммуникации с диаспорой в Черногории
Что хочу по поводу обделённости в коммуникации, в силу использования оными приложений типа «мессенджеры» сказать. Обычно содержательность сие коммуникации начинается с перекидывания малоинформативного текста, этим обычно и заканчивается. В редчайших случаях люди способны что-то развёрнуто обсудить. Дело в том, что мессенджер, по сути своей гуёвое приложение с апишкой, трэкерами и прочим, вопрос лишь в том, при каких обстоятельствах ими обычно пользуются. А именно, при ходьбе, езде в общественном транспорте, спросонья и так далее, потому что в руках постоянно вертится что? Правильно, смартфон. Если бы люди предпочитали, даже если не пк или неттоп (небольшому по габаритам корпуса), то хотя бы ноутбук, заместо смартфона, мне кажется им бы не лень было и на развёрнутом у кого-нибудь джаббере коммуницировать. А так, полезность общения в мессенджерах низводится практически до обсуждения, где продаётся свежий хлеб.
ответить
From Andrey V. Stolyarov Tue Aug 27 09:07:11 2024 UTC
Re: Про упомянутую вами обделённость в коммуникации с диаспорой в Черногории
К сожалению, реальность такова, что они тут вообще всё обсуждают в телеге. Хочешь узнать, кто как справился с очередной бюрократической сложностью — в телегу. Хочешь спросить что-то насчёт съёма квартиры — в телегу. Хочешь какую-нибудь тусовку найти — в телегу. Понадобился врач — в телегу.
Вообще сдаётся мне, что вы путаете причины и следствия. Телеграм именно что навязывает смартфон в роли "терминального устройства", так что тут первично вот это вот "а пошли все в телегу", а что для этого приходится использовать смартфоны — это следствие.
ответить
From Artem (unverified) Tue Aug 27 23:11:33 2024 UTC
Re: Про упомянутую вами обделённость в коммуникации с диаспорой в Черногории
> мне кажется им бы не лень было и на развёрнутом у кого-нибудь джаббере коммуницировать
Когда кажется, креститься надо. Дискордом, к примеру, никто из моих знакомых с телефона не пользуется (кроме крайних случаев), а только с, как минимум, ноутбука. Что, однако, не мешает им создавать голосовые и видеоконференции исключительно в дискорде, без каких-либо альтернатив, невзирая даже на то, что он раздражает своим поведением абсолютно всех участников конференции, и все они считают его редкостным дерьмом.
ответить
☞ From guest (unverified) Tue Aug 27 08:40:49 2024 UTC
Выбор дистра
Подходит ли слакварь для того чтоб ей пользоваться, настраивать под себя, не меняя систему хотя бы раз в пятилетку? С учётом тех тенденций, что туда уже вяленого (wayland) пихают
ответить
From Andrey V. Stolyarov Tue Aug 27 08:45:24 2024 UTC
Re: Выбор дистра
Ну, уж если слакварь не подходит, то вряд ли подойдёт хоть что-то. Опять же, насколько я понимаю, вяленого там сделали доступным, но по умолчанию там вообще текстовая консоль, и выпиливать иксы вроде никто пока не собирается.
ответить
From fqrq (unverified) Tue Aug 27 11:43:21 2024 UTC
Re: Выбор дистра
FreeBSD
ответить
From Andrey V. Stolyarov Tue Aug 27 11:48:13 2024 UTC
Re: Выбор дистра
Думаете, там нет своих приколов?
ответить
From Anonymous (unverified) Tue Aug 27 18:55:33 2024 UTC
Re: Re: Выбор дистра
Тогда уж NetBSD. Раньше бы предложил Open, но они сомнительной фигни надобавляли.
ответить
From Andrey V. Stolyarov Tue Aug 27 19:43:43 2024 UTC
NetBSD
вот этот тред видели? :-)
ответить
From Anonymous (unverified) Wed Aug 28 06:51:49 2024 UTC
Re: NetBSD
Я его как раз и начал. И ещё там предложил NetBSD, раз уж опёнок скатился.
ответить
From Andrey V. Stolyarov Wed Aug 28 08:26:16 2024 UTC
Re: Re: NetBSD
Да-с, прошу прощения, что-то у меня с мозгами. Вечно у меня в голове путаются Net и Open.
ответить
From aonynomus (unverified) Wed Aug 28 23:14:29 2024 UTC
Re: Выбор дистра
А почему Net или Open лучше чем Free?
ответить
From Анон (unverified) Thu Aug 29 23:52:28 2024 UTC
Re: Re: Выбор дистра
Очевидно. Openbsd не годится для изучения трехтомника на данный момент, там fpc сломан https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/lang/fpc/Makefile
>lang/fpc: mark BROKEN on amd64, does not build with LLVM 16
Живого юзера netbsd в интернете я еще не видел. Остается фряха.
я не автор того поста, если что
ответить
From Andrey V. Stolyarov Fri Aug 30 07:58:44 2024 UTC
Re: Выбор дистра
Вроде тут в гостевухе пользователи NetBSD были, не?
ответить
From Анон (unverified) Sat Aug 31 15:12:02 2024 UTC
Re: Re: Выбор дистра
Если честно, я здесь только пользователей openbsd видел.
ответить
From aonynomus (unverified) Fri Aug 30 13:16:14 2024 UTC
Re: Выбор дистра
Мне, вообще-то, интересно именно обоснование мнения, почему OpenBSD или NetBSD может быть лучше, чем FreeBSD.
Причём не в контексте изучения трёхтомника (который в треде, насколько я понимаю, не подразумевался), а в целом.
Ну а то, что у NetBSD мало пользователей, к вопросу вообще отношения не имеет. Они есть и этого достаточно.
Если вы знаток фряхи, то лучше уж ответьте топикстартеру в контексте вопроса, которым он озабочен: не "пихают ли вяленого" в FreeBSD?
ответить
From Анон (unverified) Sat Aug 31 15:34:52 2024 UTC
Re: Re: Выбор дистра
>Ну а то, что у NetBSD мало пользователей, к вопросу вообще отношения не имеет. Они есть и этого достаточно.
Имеет, если пользоваться системой. Я не могу поверить, что у нетки нет никаких проблем. Когда приходит время искать информацию о них, часто сталкиваешься с её отсутствием. Как вы думаете, сколько упоминаний о сломанном пакете fpc в openbsd можно найти в интернете? Я нашел всего два - на форуме и в репозитории. Между прочим, OpenBSD - это далеко не безызвестная система, как, например, kolibrios.
>Если вы знаток фряхи, то лучше уж ответьте топикстартеру в контексте вопроса, которым он озабочен: не "пихают ли вяленого" в FreeBSD?
Откуда у вас возникло мнение, что я знаток фряхи? Если я не ошибаюсь, установщик freebsd поставляется без графического окружения, в отличие от openbsd, где xenocara (форк X11) является частью системы и может быть выбрана для установки на этапе настройки. Поэтому, полагаю, wayland не включается в установщик. Когда я в последний раз устанавливал фряху, мне показалось, что pipeware пришёл в качестве зависимости для firefox, установленного из репозитория. Не могу утверждать с полной уверенностью, что это не было лишь сном, ведь прошло уже три года, и, возможно, ситуация изменилась. Однако я не могу гарантировать, что wayland не станет зависимостью одного из пакетов, если не собирать пакеты самостоятельно из портов.
ответить
☞ From u-micro (unverified) Mon Aug 26 20:35:00 2024 UTC
Экскоммуницированость
Сталкивались ли с тем, что люди не воспринимают потребность в приватности всерьёз? Когда начинаешь рассказывать об этом, люди начинают на тебя смотреть, как на пришельца. Как переубедить публику о том что это важно? Такое ощущение, что мозги у всех промыты фразами а-ля "Хорошим нечего скрывать".
ответить
From Andrey V. Stolyarov Mon Aug 26 20:59:39 2024 UTC
Re: Экскоммуницированость
> Сталкивались ли с тем
Постоянно.
> Как переубедить публику
Ну, мой основной аргумент — вот лично ты, может, и не нужен никому (на самом деле, конечно, нужен, и ещё как, но это твои проблемы), но вот ты уверен, что никому не нужен никто из тех, с кем ты общаешься? А почему ты так уверен? А ты у них спросил?
> "Хорошим нечего скрывать"
В таких случаях я обычно напоминаю, что самый главный, самый вооружённый и самый опасный преступник в мире — государство; люди, которые про это забывают, опасны для окружающих.
Действует не всегда, но если не действует — то можно прекращать общение по принципу "я сделал всё, что мог".
ответить
From Parthen (unverified) Tue Aug 27 22:46:43 2024 UTC
Re: Экскоммуницированость
>Такое ощущение, что мозги у всех промыты фразами а-ля "Хорошим нечего скрывать".
Попросите у человека фото банковской карты с обеих сторон :)
Обычно люди отказываются, и уже можно отсюда диалог продолжать. Есть и такие, которые без задней мысли дают - вот с ними надо в принципе общение прекращать, они опасны.
ответить
☞ From Vimофицированный (unverified) Mon Aug 26 10:59:33 2024 UTC
Русский язык и Vim
День добрый. Как-то вы упоминали, что написали все свои книги в vim. Исходя из того, что команды в нем на англ, а книги ваши на русском, возникает вопрос, а как команды использовали? Сами настраивали маппинг клавиш? Или взяли плагин из интернета?
А то я что-то взял из интернетов, а работает кривовато, не все команды поддерживает. Может, посоветуете что, а то переключать раскладку каждый раз не хочется
ответить
From Andrey V. Stolyarov Mon Aug 26 11:05:47 2024 UTC
Re: Русский язык и Vim
У меня переключение регистров повешено на правый Alt, так что никаких проблем нет давать команды латиницей. Я, больше того, некоторые знаки препинания набираю на латинском регистре, даже когда пишу русский текст — просто не помню, где они в русской раскладке.
ответить
From asb (unverified) Fri Sep 13 20:22:19 2024 UTC
set keymap
А чём keymap вимовский не устраивает? У меня в .vimrc такая строчка:
set keymap russian-dvorak
"в моём случае дворак
При печати на русском, все команды прекрасно работают.
P.S. у меня ещё есть рядом строчка set iminsert=0, что она делает я не помню ^_^
ответить
☞ From user-12 (unverified) Mon Aug 26 08:45:07 2024 UTC
Евросовок
Посмотрел ваше последнее видео касательно ареста Павла Дурова и тут же увидел новость (warning! сайт с js):
Ссылка
Похоже евросовок окончательно перестал скрывать свою истинную сущность, и нас ждет еще больше ограничений со стороны государства. И выхода, похоже, из этого нет. Поезд ушел
ответить
From Andrey V. Stolyarov Mon Aug 26 09:49:41 2024 UTC
Re: Евросовок
Никто никуда не ушёл. Даже наоборот, возможно, до публики допрёт, наконец, реальный смысл всех разглагольствований о "педофилии", "детской порнографии" и прочем, где якобы бедные деточки страдают (хотя как может хоть одна деточка пострадать, когда взрослые дядьки какими-то там картинками перебрасываются).
А что в евросоюзе нормальным людям не место — это я уже давно понял.
ответить
From Parthen (unverified) Mon Aug 26 10:28:21 2024 UTC
Re: Re: Евросовок
>хотя как может хоть одна деточка пострадать, когда взрослые дядьки какими-то там картинками перебрасываются
Я так понимаю предполагается, что само преступление это съемка, а распостранением эту съемку "поддерживают".
Но вообще, если кому интересно - почитайте о небезысвестной Маше Бабко.
https://neolurk.org/wiki/%D0%9C%D0%B0%D1%80%D0%B8%D1%8F_%D0%91%D0%B0%D0%B1%D0%BA%D0%BE
>Порностудия «Siberian Mouses» была основана дядей Серёжей в 1996-м году, и, соответственно, почила в бозе в конце 2011-го. За 15 лет её существования в качестве моделей оной студии снялось более 500 девушек и девочек.
То есть понимаете, 15 лет ни один родитель тех 500 актрисс вообще ничего не заметил. И никаких псих. травм, ни-че-го не было.
ответить
From Andrey V. Stolyarov Mon Aug 26 10:33:25 2024 UTC
Re: Re: Re: Евросовок
> Я так понимаю предполагается, что само преступление это съемка, а распостранением эту съемку "поддерживают".
Вы понимаете не так. Синтезированные изображения нынче тоже вне закона, причём уже лет пятнадцать как эта шиза началась. Просто едва ли не у большинства людей при слове "дети" отключаются остатки мозга, так что стационарным мошенникам ну вот прямо грех не воспользоваться такой удобной оказией для оправдания всевозможной цензуры и прочего беспредела.
ответить
☞ From Eduard (unverified) Mon Aug 26 07:53:32 2024 UTC
Дотелеграмились
Здравствуйте, Андрей Викторович. Может быть сочтете за оффтопик, но новость про Пашку Дурова для меня показалась странной. Арестовали его в стране, которая вроде бы "свободная". Смотрите, пользователи телеги, как ваша безопасность сходит на нет.
ответить
From Andrey V. Stolyarov Mon Aug 26 07:58:10 2024 UTC
Re: Дотелеграмились
Евросоюз практически весь целиком — левацкая богадельня, какая ещё "свободная страна"? Социализм и свобода слова — явления несовместимые.
P.S.: http://infoviolence.org/ru/vblog/video080.html
ответить
From quwe (unverified) Mon Aug 26 08:37:18 2024 UTC
Re: Дотелеграмились
С каких пор Франция "свободная"? Это какие-то мифы эпохи сельских либералов типо Новодворской (на самом деле это и не либералы вовсе, и по взглядам ничем не отличаются от Шарикова из "собачье сердце"). Франция - колыбель всего несвободного. После великой французкой революции от туда и повылазили те же идеи, что в будущем станут следствием голодомора. Германия - почти то же самое. Каким образом осколок от ГДР, потомок третьего рейха, может вдруг быть "свободным"?. Если принимать решения на основании красивых картинок из гугла, то в какой-то момент тебе и Северная Корея может показаться "свободной". По-настоящему свободная страна, это пожалуй только США, и то с поправкой, что всё таки перегибы в истории США были. И такие инициативы как реформа Obamacare и Байденовские запреты на оружие - совсем не радужная перспектива.
ответить
From Andrey V. Stolyarov Mon Aug 26 09:52:21 2024 UTC
Re: Re: Дотелеграмились
Поправочка: свободных стран не существует. США свободной страной не являются вообще ни в каком виде, пардон, Дуров вон пытался там сначала запуститься, пришлось в Дубай бежать, пока хвост не оттяпали.
ответить
From quwe (unverified) Mon Aug 26 10:20:23 2024 UTC
Re: Re: Re: Дотелеграмились
>США свободной страной не являются вообще ни в каком виде
Но почему? В США, например, нельзя сесть за слова. Есть хоть один прецедент, когда человека бы посадил или хотя бы оштрафовали за оскорбление? Едва ли найдётся. В США разрешена частная дискриминация. Например, будучи владельцем магазина, можно не впускать туда негров, нарушением закона это не будет (правда, такие инициативы не редко подвергаются общественному давлению). В США полностью разрешено ношение оружие, и даже без лицензии. Пожалуй, это единственная страна, где есть не только право на свободное ношение оружия, но и не нужна для этого лицензия. В США до 2010 года, медицинская страховка не была обязательной. То есть, можно было себя и не страховать, если это не требуется. В США законы отдельных поселений в штате, могут сильно отличаться от законов штата. Грубо говоря, в шате в котором запрещены наркотики, можно спокойно найти деревню, где местное самоуправление легализовало наркотики полностью. В США разешено устраивать несанкционированный митинг на любой не-частной земле. Поэтому, к слову, в университетах митинги постоянно и собираются, так как по-закону оттуда нельзя митингующих выгнать. Случаются, конечно и перекосы. Например, ту же секту "Ветвь Давида" уничтожили незаконно (буквально, не было ни одного законного основания начинать штурм). Но даже это нашло отражение в обществе, и по этому поводу была масса судов, и масса протестов. Так, что пожалуй более свободной страны и нет. Практически в любой стране европы (и уж тем более в России) есть законы, запрещающие даже говорить. В Великобритании, вполне себе могут приехать полицейские за пост в интернете. Так, что ни в какое сравнение.
ответить
From Andrey V. Stolyarov Mon Aug 26 10:37:51 2024 UTC
Re: Re: Re: Re: Дотелеграмились
> более свободной страны и нет
Более свободной, возможно, и нет. Но это не делает США свободной страной.
ответить
From Ilya Mon Aug 26 11:13:16 2024 UTC
Re: Re: Re: Re: Дотелеграмились
Для меня миф о свободе слова во Франции закончился, когда я узнал о штрафе в 50 килобаксов за публичное отрицание холокоста (это если повезет, а могут и год тюрьмы впаять). Что касается США и ваших аргументов, то нет ни одного штата, где были бы одновременно легализованны и наркотики и оружие, получается такой вот взаимоисключающий XOR - либо то, либо другое. Далее, в США можно сделать патент на программное обеспечение. Ну и напоследок, обязанность платить налоги там где ты даже не живешь это маразм высшей степени.
ответить
From quwe (unverified) Mon Aug 26 11:49:53 2024 UTC
Re: Re: Re: Re: Re: Дотелеграмились
На счёт оружия и наркотиков, не правда. В штате Орегон разрешено оружие, и с 2021 года там разрешены тяжёлые наркотики, причём, конкретно в поселении кламат фолс разрешены все, включая самые тяжёлые. Ну, а на счёт "платить налоги" и "патент на программное обеспечение", могу добавить, что в США ещё и купить "обрез" нелегально. Но в чём суть таких рассуждений? Я понимаю, что полезно стремиться к наибольшей свободе, но фыркать на налоги, когда в большинстве стран даже свободы слова не имеется - это разговор в пользу бедных. Это как самому сидеть даже без хлеба, но зато критиковать соседа, за то, что он недожарил стейк. Сидеть во Франции или Дубае - такая себе идея, когда есть возможность жить в США.
ответить
From Andrey V. Stolyarov Mon Aug 26 11:53:07 2024 UTC
Re: Дотелеграмились
Ещё раз, и медленно: сравнивать не надо.
В Дубае, впрочем, жарко, но о других недостатках я пока не слышал.
ответить
From Student (unverified) Mon Aug 26 23:05:47 2024 UTC
Re: Re: Дотелеграмились
В арабских странах, в частности в ОАЭ, активно блокируют видеоконференции (over IP). Хотя сообщения через мессенджеры ходят, позвонить через них не получится. Иронично, но через Телеграм тоже.
Плюс если говорить о Дубае, то там какая-то жёсткая монополия на телеком. Чуть ли не 70% сотовой связи у одной около-правительственной компании, и остальные 30% у другой. И на свой рынок они никого не пускают путём обязательного лицензирования такой деятельности у государства.
А, ещё в ОАЭ активно блокируют VPN. Покруче, чем всякие там ркны.
ответить
From Andrey V. Stolyarov Tue Aug 27 07:34:22 2024 UTC
Re: Re: Re: Дотелеграмились
> В арабских странах
Не, ну в Иране, скажем, я никому жить не предлагаю.
> активно блокируют видеоконференции (over IP)
Насколько я вижу, мои знакомые, торчащие нынче в Дубае, всякими дискордами и зумами прекрасно пользуются. Возможно, нашли, как это обходить.
> телеком. Чуть ли не 70% сотовой связи
Телеком и сотовая связь не одно и то же (в частности, два сотовых оператора — это б/м нормально, как и их лицензирование, поскольку радиочастоты не резиновые), но вообще да, с интернетом (в том числе проводным) там как-то странно всё.
К тому же жарко.
Но налога на доходы там нет, и это само по себе заслуживает внимания. Я, впрочем, не утверждаю, что это идеальный вариант, сам-то я туда не поеду.
ответить
From Artem (unverified) Wed Aug 28 15:23:10 2024 UTC
Re: Re: Re: Re: Дотелеграмились
> два сотовых оператора — это б/м нормально, как и их лицензирование, поскольку радиочастоты не резиновые
По-моему, два сотовых оператора, предоставляющих услуги конечным пользователям, это какая-то хрень. Частоты, конечно, не резиновые, но почему тогда не сделать одного на всю страну оператора с вышками и частотами, на котором будут работать уже коммерческие компании как виртуальные операторы?
ответить
From Andrey V. Stolyarov Wed Aug 28 16:07:13 2024 UTC
Re: Re: Re: Re: Re: Дотелеграмились
> По-моему, два сотовых оператора, предоставляющих услуги конечным пользователям, это какая-то хрень
В Москве в своё время довольно долго их как раз два и было — мотористы и пчёлы. До них ещё были сети доисторических протоколов (не GSM), про них ничего не помню — в их эпоху у меня ещё не было сотового телефона.
Когда Мегафон продавил себе путь на московский рынок, публика хлопала в ладошки и кричала, что теперь опсосы будут нам доплачивать за потребление их услуг. Четвёртый сотовик — Теле2 — появился намного позже.
Замечу, больше четырёх сотовых сетей в одной географической точке я не видел нигде и никогда.
К чему это я? К тому, что между двумя и четырьмя корпорациями на одном рынке разницы серьёзной нет, четыре действующих игрока точно так же способны к картельным сговорам, как и два. Трудности начинаются, когда количество независимых конкурирующих участников рынка приближается к двум десяткам, а совсем тяжко картелям становится лишь тогда, когда рынок оказывается открыт для входа любых новых игроков, т.е. нет вообще никаких препятствий к этому. На рынке сотовой связи это невозможно именно в силу ограниченной вместимости диапазонов.
> почему тогда не сделать одного на всю страну оператора с вышками и частотами, на котором будут работать уже коммерческие компании как виртуальные операторы?
Кое-где так и есть.
ответить
From Ilya Mon Aug 26 12:08:38 2024 UTC
Re: Re: Re: Re: Re: Re: Дотелеграмились
Суть в том, что если с ограничением свободы слова я еще могу смириться (анонимность в интернете полностью пока еще не убили, а в реальной жизни я с кем попало на пикантные темы разговоры не веду), то с обнаглевшим грабежом моего кошелка двух государств одновременно я мирится не готов, не настолько богатый. Вообще, как нас уже выше поправили, сравнивать толку нет, везде сейчас жить не сладко, предлагаю на этой ноте диалог и закончить.
ответить
From quwe (unverified) Mon Aug 26 12:43:25 2024 UTC
Re: Re: Re: Re: Re: Re: Re: Дотелеграмились
>Суть в том, что если с ограничением свободы слова я еще могу смириться, то с обнаглевшим грабежом моего кошелка двух государств одновременно я мирится не готов
Как это обычно и бывает, в таком случае ты получаешь и отсутствие свободы слова, и грабёж твоего кошелька. А всё потому что нельзя мирится с "ограничением свободы слова". Такими темпами, свободы не будет вообще никакой и ни в каком виде.
ответить
From Andrey V. Stolyarov Mon Aug 26 14:38:36 2024 UTC
Re: Re: Re: Re: Re: Re: Re: Re: Дотелеграмились
Мириться с грабежом кошелька тоже нельзя. И то насилие, и это насилие, принципиальной разницы тут нет.
Вообще завязывайте, я не вижу никакого смысла в этой дискуссии. Если вас почему-то устраивают Штаты (что крайне странно), то это не значит, что они должны устраивать всех. Для меня, например, это вообще не вариант.
ответить
☞ From u (unverified) Sun Aug 25 17:21:31 2024 UTC
Анонимная сеть
Каким уровнем знаний нужно обладать, чтобы реализовать анонимную сеть из "Обращения к публике"? Может ли данную сеть разработать, но не контролировать НКО?
ответить
From Andrey V. Stolyarov Sun Aug 25 17:32:05 2024 UTC
Re: Анонимная сеть
> Каким уровнем знаний нужно обладать
У меня нет ответа на этот вопрос.
> Может ли данную сеть разработать, но не контролировать НКО?
Насколько я могу судить, любые корпорации, вне зависимости от их "коммерческого" статуса, устроены одинаково. Так что если интересно моё мнение — нет, не может.
ответить
☞ From hmm (unverified) Sun Aug 25 15:00:50 2024 UTC
Туманные перспективы открытого железа
Андрей Викторович, здравствуйте. Я пока только учусь, поэтому могу невольно упускать какие-то моменты, к тому же я относительно недавно начал идти по пути системщика, поэтому также могу невзначай не учесть историческую справку развития (и деградации) компьютерного железа, прошу не судить строго.
Возьму один контраргумент со стороны проприетарщиков и их выгораживальщиков, вольных внедрять в чипсет микроконтроллеры, являющие собой ничто иное, как чёрный ящик (речь об IME-регионах и прочих), который я слышал с их стороны, зачем вообще производителю это надобно — затем, мол, что делать комплексный цикл производства железа кратно сложнее, чем писать программки, поэтому производителю и позволительно решать за всех, собственно это и является на текущий день неким флагманским оправданием его закрытости. Ежели просто рассматривать закрытые прошивки и спецификации в контексте текущих реалий, то для успешной продажи этого самого железа производителю необходимо его производство с учётом максимального кол-ва интересов для увеличения прибыли и с последующим его сбытом, максимально запудривая мозги, гламурные и не только. Поэтому, видите-ли, производителю якобы должно быть позволительно на сегодняшний день бесконтрольно закрывать что-то там у себя в прошивках, типа чтобы конкурентов не плодить (или вставьте, как говорится, любую другую надуманную причину), хотя, думаю, нетрудно понять, чьи интересы здесь могут учитываться ещё больше, чем интересы самого производителя; а контрпример с открытым софтом и беспроблемности его распространения якобы не работает, потому что это не более, чем программа (хотя казалось бы, почему-то ловко упускается то, что прошивка по сути своей тоже программа).
С одной стороны, всё типа понятно: рыночек решает, все дела — вали, мол, если не нравится, пилить своё. Прямо вот возьму и побегу осуществлять заказ на полупроводниковый завод, хотя куда пуще будет открыть свой, что уж там.
То, что могу наблюдать с происходящим в архитектуре Risc-V, да банально даже глядя на их головной сайт и тех корпоратов, которых на нём они упоминают, а также из кого эта шайка-лейка состоит (те же пресловутые стандартизаторы), вызывает тихий ужас. Как-то на горизонте не виднеется даже малейшего намёка на изменение ситуации.
Предлагаю полуироничный вариант, как делать в этом случае: создать правовой прецедент, в котором, ровно как и у любого, пардон за такое сравнение, пирожного, продающегося в розницу, будет известен состав его производных частей.
А что бы вы предложили в разрешении этого вопроса на возможное повсеместное лишение прав на внедрение незадокументированного публично чужеродного (не являющегося обязательным для функционирования) оборудования внутри железа?
ответить
From Andrey V. Stolyarov Sun Aug 25 16:15:29 2024 UTC
Re: Туманные перспективы открытого железа
Я бы, честно говоря, предложил устроить геноцид вебщикам, после чего откатиться на железо производства до 2010 года включительно. Ни для чего, кроме браузера, более новое железо не требуется.
ответить
From Parthen (unverified) Sun Aug 25 16:24:07 2024 UTC
Re: Re: Туманные перспективы открытого железа
>Ни для чего, кроме браузера, более новое железо не требуется.
Игры. Но там все решается геноцидом пользователей игровых движков и последующей их заменой на программистов (пусть даже пользующихся теми же игровыми движками).
P.S. Тяжелый рендеринг и стриминг сюда не входят, так как требуют не ПК, а рабочую станцию.
ответить
From quwe (unverified) Sun Aug 25 17:06:34 2024 UTC
Re: Re: Re: Туманные перспективы открытого железа
Ну и какие игры за последнее время вышли, в период с 2018 по 2024? Может 1-2 штуки назвать можно, cyberpunk и rdr да и всё. При том, что графика с 2013 года не сильно улучшилась, а требования к железу возросли. Так, что я уверен, что люди купившие хорошие компьютеры для игр, просто пытаются оправдать покупку, играя и нахваливая всё подряд, лишь бы не посчитать свою покупку глупой.
ответить
From Parthen (unverified) Sun Aug 25 18:07:38 2024 UTC
Re: Re: Re: Re: Туманные перспективы открытого железа
>Может 1-2 штуки назвать можно
Я уверен, что вот конкретно это проблема не в программистах, в геймдизайнерах. Ну, вот например в 2018 вышла моя горячо любимая RimWorld от инди-студии
http://infoviolence.org/ytid.cgi?v=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D3tDrxOASUog
А у корпораций тонны шлака выходят с повесточкой - и, почему-то, никто в это не играет.
>При том, что графика с 2013 года не сильно улучшилась, а требования к железу возросли
В принципе согласен. Просто мы уже уперлись в потолок улучшения графики путем увеличения текстур/полигонов. Реалистичность создается не этим, Unrecord это прекрасно демонстрирует
http://infoviolence.org/ytid.cgi?v=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DIK76q13Aqt0
Так причем, когда надо портировать игру на плохое железо - в случае приставок, например - корпорации все резвенько делают. Detroit Become Human прекрасно играется на PS4 (2013 год выпуска). А это фотореалистичное игровое кино, мать вашу.
Ну или личный пример. У меня в школе еще был семейный компьютер, на нем тормозил чертов ютуб и даже сама винда (семерка еще, хех).
При это Portal 2 от Габена, хвала ему навеки, работала, пусть и на низких настройках без единого провисания. С симуляцией физики и графики порталов. В том числе бесконечно показывающих самих себя, бесконечно пропускающих через себя тестовые кубы, и в том числе когда я летал через всю карту.
ответить
From Andrey V. Stolyarov Sun Aug 25 18:12:33 2024 UTC
Re: Туманные перспективы открытого железа
Э-мммм... там когда в ytid.cgi ссылку отсабмиттили, внизу появляется УРЛ более короткий, в котором только сам скрипт и ID видоса.
ответить
From Parthen (unverified) Sun Aug 25 20:03:40 2024 UTC
Re: Re: Туманные перспективы открытого железа
Не заметил :)
А зачем тогда "длинная" ссылка нужна?
ответить
From Andrey V. Stolyarov Sun Aug 25 20:21:39 2024 UTC
Re: Re: Re: Туманные перспективы открытого железа
"Длинная ссылка" сама собой получается в адресной строке браузера, когда веб-форма сабмитится методом GET. Ну вот так работает сабмит формы через GET (в отличие от POST).
ответить
From Parthen (unverified) Sun Aug 25 21:08:23 2024 UTC
Re: Re: Re: Re: Туманные перспективы открытого железа
Перечитал, понял идиотизм своего вопроса.
Извините, я спать, хватит с меня
ответить
From Andrey V. Stolyarov Sun Aug 25 22:01:40 2024 UTC
Re: Туманные перспективы открытого железа
Да пофиг, спокойной ночи :-)
ответить
From Artem (unverified) Sun Aug 25 20:08:04 2024 UTC
Re: Re: Re: Re: Re: Туманные перспективы открытого железа
> фотореалистичное игровое кино
Поправка: интерактивный мультик без капли фотореализма. Тот же Cyberpunk 2077 выглядит натуральнее, особенно если смотреть не только на текстуры, но и на физику: свет, тени, огонь, дым, воду, вспышки, растительность. Я говорю, конечно, про его нынешнее состояние, а не про то, что было на момент выхода. И при этом всё равно люди там не особо похожи на людей: кожа, волосы, одежда, движения - мозг человека даже самую мелкую ненатуральность в этом палит очень быстро. Поэтому фотореализма в играх, скорее всего, не будет и с более мощным железом, все вот эти мелочи сжирают прорву памяти и процессорного времени. Особенно если это игра с модным нынче открытым бесшовным миром.
Игровой мир в первую очередь не должен противоречить сам себе, именно поэтому в играх почти не встречается фотореализм: люди чувствуют фальшь, когда одни части выглядят натуральнее других, и такая "реалистичная" графика воспринимается как менее качественная, чем мультяшная, но мультяшная на одном и том же уровне во всех аспектах. То есть, у RimWorld графика лучше, чем у Unrecord, как бы странно это ни звучало.
Я уверен, что уровень этого самого Cyberpunk можно получить на более слабом железе, чем требуется ему сейчас. Но я очень сомневаюсь, что достаточное для этого железо имелось в широкой продаже 10 лет назад. Как минимум потому, что 10 лет назад в видеокартах ещё не было трассировки лучей в реальном времени.
ответить
From Artem (unverified) Sun Aug 25 20:20:15 2024 UTC
Re: Re: Re: Re: Туманные перспективы открытого железа
Да дофига вышло, честно говоря. Непонятно только, почему вы решили помянуть именно Cyberpunk и RDR и их гигантскими открытыми мирами, которые загрузили бы работой даже новое игровое железо даже с графикой 15-летней давности.
Фактически, игровые компьютеры это не совсем то же самое, что ПК. Разница примерно как между ПК и рабочей станцией. Так что, я полагаю, Андрей Викторович прав, говоря, что новое железо требуется лишь для браузера, ведь он, очевидно, имел в виду ПК, а не специализированные устройства для игр.
ответить
From hmm (unverified) Sun Aug 25 17:15:21 2024 UTC
Re: Re: Туманные перспективы открытого железа
Если так подумать, то всё куда более запущенно. Замену вэбанутости децентрализованными сетями, видение которых вы описывали в гостевой, сегодня представить трудно — людей, в частности молодое поколение (оно и немудрено, доверять родителю воспитание его же ребёнка интернету также просто, как этому же интернету поганить мозги), что сам наблюдаю воочию, подсадили на такую соску контента, что её от них не оторвать и привязыванием прицепа к самосвалу и вдавливанием тапки в пол.
Из того, что интернет даёт, что можно и нужно брать, это какие-то структурированные (что важно, не разношёрстные с, хрен поймёшь какой, сортировкой) сборники, их бы всё равно хотел видеть в замене инету. Назвал бы эту возможность централизованным каналом read only, но чтобы реализация была, если это не совсем уж глупо прозвучит, через подключение этих локальных сетей к этой уже ридонли сетке. Распространение таких централизованных каналов-сборников через сарафан, на всякий уточню. Ясен пень, вопрос модерации никак не решить, если будет свобода, собственник же каналом руководит, но если будут постить какой-то трешак, то эта локальная сетка просто обрубает с той концы и прекращает иметь к ней доступ. А чтобы не терять ту годноту, которая потенциально была в том канале, просто делать бэкапы на свой сервер (потому что если брать во внимание, что сети будут статичными, можно будет как минимум быстренько пробежаться по важным для себя материалам и скопировать их содержимое; ну а в лучшем случае, будь владелец того канала небезразличным к посетителям, сделает простую выгрузку с ресурса, в каком-нибудь приемлемом формате, с опциями выбора интересующих разделов).
ответить
From Andrey V. Stolyarov Sun Aug 25 17:22:58 2024 UTC
Re: Re: Re: Туманные перспективы открытого железа
Весь этот поток сознания не имеет никакого отношения к делу. Любой информационный сервис может быть содержательно реализован целиком на стороне сервера, без исполнения в браузере, а без свистоперделок можно обойтись. Всё, точка, все свободны, смерть вебщикам. Ранее описывавшийся проект наложенной сети вообще совершенно про другое.
ответить
From hmm (unverified) Sun Aug 25 17:32:41 2024 UTC
Re: Re: Re: Re: Туманные перспективы открытого железа
Похоже, забыл упомянуть самое главное: разумеется, это всё без участия браузера. Да и он здесь нафиг не нужен, лишнее звено
ответить
From Andrey V. Stolyarov Sun Aug 25 17:53:12 2024 UTC
Re: Туманные перспективы открытого железа
Если под браузером понимается программа для просмотра гипертекста в формате HTML с картинками в формате jpg, svg, png и gif (и больше ничего), то у меня он особых возражений не вызывает.
ответить
From hmm (unverified) Sun Aug 25 18:06:18 2024 UTC
Re: Re: Туманные перспективы открытого железа
Естественно, но ныне существующие варианты т. н. браузеров и их движков нагромождено до кучи, достаточно реализации какого-то безгуйного окошка для просмотра содержимого
ответить
From Andrey V. Stolyarov Sun Aug 25 18:10:38 2024 UTC
Re: Re: Re: Туманные перспективы открытого железа
А, ну согласен, да.
ответить
From quwe (unverified) Mon Aug 26 05:57:10 2024 UTC
Re: Re: Re: Туманные перспективы открытого железа
а Links2 на SVGAlib? В нём есть возможность картинок + подгрузка текста.
ответить
☞ From anonymous (unverified) Sun Aug 25 13:13:44 2024 UTC
Праздный вопрос о программе менторинга
Будет ли когда-нибудь раскрыта какая-нибудь информация о ходе менторинга?
Например, напишете ли Вы когда-нибудь новость на сайте примерного содержания: "С запуска менторинга прошло 5 лет. За это время к программе присоединились 30 человек, из них 10 дошли до конца и стали настоящими программистами" - вроде такого? Или любая подробная информация останется тайной между Вами и участниками программы?
ответить
From Andrey V. Stolyarov Sun Aug 25 13:23:57 2024 UTC
Re: Праздный вопрос о программе менторинга
Пока мне нечего в таком духе "раскрывать", программе чуть больше полугода, все, кто сейчас в ней, ковыряются с Паскалем. О каких-то серьёзных результатах можно будет говорить самое раннее через два года, а статистически значимые результаты появятся именно что лет через пять, до этого ещё дожить надо.
Но вообще — какова ценность подобных заявлений? Довольно очевидно, что публикация персональных данных участников исключена полностью, так что проверить достоверность того, что я тут про себя наговорю, будет заведомо невозможно. И чего тогда, спрашивается, воздух сотрясать?
Разве что кто-то из участников сам решит опубликовать свои впечатления, но над этим я не властен и просить никого о чём-то таком не буду.
ответить
From anonymous (unverified) Sun Aug 25 15:05:40 2024 UTC
Re: Re: Праздный вопрос о программе менторинга
>Какова ценность подобных заявлений
Если говорить просто о сухой статистике по менторингу, то ценность ее сходна с ценностью статистики использования отдельными индивидами Вашей книжки вообще.
Вторая статистика собрана быть не может, пока трёхтомник ещё молод и не набрал достаточно известности; до выхода английской версии вполне возможно, что и вовсе не наберёт значительно больше, чем сейчас. Таков уж наш неприятный мир, ему курсы по питону более интересны - но и там бывает интересно увидеть, что из двухсот тысяч человек до конца доходят не более 10%.
А первая из статистик вполне может быть собрана через пять лет и будет довольно интересна, как мне кажется. Много ли дошло до конца, сколько в среднем уходит времени на первые два тома и на всю программу в целом - и все такое.
Несколько раньше, чем через 5 лет, Вы можете поделиться личными любого рода впечатлениями от менторинга без любой привязки к конкретным личностям или их группам - что угодно, наподобие: как скоро в среднем участникам впервые удаётся написать стоящую программу в пару тысяч строк, бывали ли у вас товарищи, которые покинули менторинг вследствие невозможности понять вложенные циклы, сколько народу выбрало в качестве первой системы *bsd, было ли написано кем-то из участников за все время программы что-нибудь дико интересное, какой опыт программирования у участников в среднем бывает до вступления в программу менторинга - и все такое.
Хотя я не уверен, что эти впечатления будут так же интересны, как статистика. Мне вот интересно - если что, простите за праздный интерес. Но, так или иначе, в этом случае -
>проверить достоверность будет заведомо невозможно
да и вообще не нужно, на то они и личные впечатления. Что-либо проверять требуется, когда читаешь некоторый рекламный текст, в котором описывается возможность некоего успеха. Но вроде бы из текста на странице менторинга совершенно понятно, что ничего подобного от менторинга ожидать не стоит.
Просто интересно когда-нибудь узнать, с какой степенью успеха Ваша замечательная книжка поменяла мир.
ответить
From Andrey V. Stolyarov Sun Aug 25 16:13:00 2024 UTC
Re: Праздный вопрос о программе менторинга
Ну Ok, подумаю на эту тему. Сейчас-то в любом случае всё в пределах статпогрешности.
UPD: вообще вам может быть интересно узнать, что ДМК Пресс продавали трёхтомник отдельными томами, вот третьих томов было продано, если я всё правильно понял, раза в три меньше, чем первых, и здесь ещё стоит учесть, что много кто брал сразу все три "для комплекта".
ответить
From anonymous (unverified) Sun Aug 25 18:20:29 2024 UTC
Re: Праздный вопрос о программе менторинга
Ну, по версии дмк-пресс мне уже известна статистика :)
Найти второй том от ДМК Пресс все ещё можно и сейчас у всяких перекупов, хоть и втри-вчетыредорога. (Недавно можно было и третий, очень странно, что третий закончился у них сильно раньше.)
И это при тираже в 100 (!) экземпляров. И при том, что некоторое количество книг, продаваемых этими перекупными онлайн-магазинами, было изрядно попорчено - мне 2 и 3 том аж два раза перезаказывать приходилось. (Я год назад покупал - по 1700 за том.)
P.S.1: Кстати, вообще не понимаю, нафиг по одному тому покупать, если уж решился осваивать книжку. Сэкономить на случай, если второй том в читающего не полезет? Скромность, однако, хорошее качество.
P.S.2: Кстати, та странная лавочка, издающая Ваши книги нелегально, все ещё живёт и торгует ими - вот только что вылезло в поисковике, когда я полез проверять возможность покупки томов.
P.S.3: Хм, кстати, если немного подумать, некое подобие статистики я и сам у себя в голове могу представить. Мне на первые две части весь год с момента покупки и понадобился - с прошлого сентября до этого сентября. Только начал читать часть 3; да и то не сказать, что часть 2 по настоящему освоена - до объема в 2-3 тысяч строк полезной программы я не добрался, пока мелкие игрушки от 500 до 1000 строк тяжеловато даются.
Но мой пример не слишком репрезентативен: мне где-то три раза пришлось откладывать книгу, и каждый раз на промежуток в полтора-два месяца - уж очень моя офисная шестидневная работа любит поедать всё свободное время.
ответить
From Andrey V. Stolyarov Sun Aug 25 18:28:32 2024 UTC
Re: Re: Праздный вопрос о программе менторинга
> И это при тираже в 100 (!) экземпляров.
На эту ерунду можете внимания не обращать. По 100 штук печаталось в один заход каждый раз, а всего было напечатано первых томов, как я понял, около полутора тысяч. То, что они при этом не меняли ни номер заказа, ни все остальные реквизиты, которые вообще-то положено менять — ну, это не ко мне, почему они так делали.
ответить
☞ From Irina (unverified) Fri Aug 23 19:07:53 2024 UTC
Программирование и AI
Здравствуйте, Андрей Викторович! Я, начинающая девушка-программист. Начала обучение по Вашим книгам. Очень приятно было узнать, что Ваша супруга программист - меня это очень мотивирует. Мне нужен Ваш совет - мои коллеги настаивают на том, чтобы я активно училась использовать AI Copilot и прочие инструменты, хотя бы для написания базовых функций или процедур, чтобы идти в ногу со временем и повышать свою эффективность. Я сопротивляюсь и хочу писать код без помощи этого инструмента, чтобы сначала во всем разобраться. Хотелось бы узнать Ваше мнение по этому поводу, так как многие компании пишут, что хотят перестать нанимать без этого навыка. Пользуетесь ли чем-то подобным Вы сами?
ответить
From Andrey V. Stolyarov Fri Aug 23 19:19:07 2024 UTC
Re: Программирование и AI
> Я сопротивляюсь и хочу писать код без помощи этого инструмента, чтобы сначала во всем разобраться.
Правильно делаете.
> хотят перестать нанимать без этого навыка
Этот "навык" (при наличии умения программировать) осваивается за несколько дней от силы, да и вообще научиться плохому всегда успеете. Впрочем, вам эта ерунда в любом случае не потребуется, т.к. при нормальном развитии событий это не работодатели будут решать, кого им нанимать, а вы будете решать, к кому пойти работать, а к кому не пойти. Если же такого уровня вам достичь не удастся, то смысла оставаться в этой сфере деятельности нет никакого.
> Пользуетесь ли чем-то подобным Вы сами?
Я принципиально не занимаюсь ни веб-разработкой, ни созданием мобильных приложений, а за пределами этих двух областей (от которых настоятельно рекомендую держаться подальше, если не хотите сгноить собственные мозги) все эти нейросетевые примочки не работают.
ответить
From Irina (unverified) Fri Aug 23 19:37:44 2024 UTC
Re: Re: Программирование и AI
Большое спасибо за ответ!
> Если же такого уровня вам достичь не удастся, то смысла оставаться в этой сфере деятельности нет никакого.
Андрей Викторович, поясните, пожалуйста, как оцениваются навыки программиста на том уровне, что Вы описали?
> все эти нейросетевые примочки не работают.
Дело в сложности написания таких программ?
ответить
From Andrey V. Stolyarov Fri Aug 23 19:47:50 2024 UTC
Re: Re: Re: Программирование и AI
> как оцениваются навыки программиста на том уровне
Никак не оцениваются. Ваш вопрос не имеет смысла.
> Дело в сложности написания таких программ?
Скорее дело в том, что при написании серьёзных программ требуется контролировать происходящее, так что не всякому живому программисту можно доверить написание кода, а доверять его нейросетке, которая вообще непойми что делает, непойми как работает и непойми что генерит, при этом, разумеется, не то чтобы "не отвечает" за содеянное, а, больше того, к ней вообще невозможно применить термин "ответственность" (поскольку она не субъект) — в общем это нонсенс.
ответить
From random-guy (unverified) Sat Aug 24 21:46:20 2024 UTC
Re: Re: Re: Re: Программирование и AI
Добавлю еще, что все эти нейросетки обучены по большей части на говнокоде из гитхаба, которые генерят веб макаки. Отсюда можно сделать вывод о качестве ответов всех этих исскуственных идиотов
ответить
From Anonymous (unverified) Sun Aug 25 14:31:42 2024 UTC
Re: Re: Re: Re: Re: Программирование и AI
Добавлю, что в ряде случаев нейросеть просто копирует куски кода из других проектов, что поднимает вопрос соблюдения условий лицензии на этот код.
ответить
From Andrey V. Stolyarov Sun Aug 25 14:52:48 2024 UTC
Re: Программирование и AI
Я бы сказал, что скорее наоборот, генеративные нейросетки поднимают во всю морду вопрос, не пора ли уже списать на свалку оставшихся копирастов.
ответить
From Artem (unverified) Sat Aug 24 00:32:51 2024 UTC
Re: Программирование и AI
В прошедшем учебном семестре довелось изрядно понаблюдать за тем, как несколько человек писали относительно немаленькие десктопные программы на C++ с помощью всевозможных Artificial Idiots (именно так надлежит расшифровывать AI). Впечатление тягостное. Объёмы кода вываливаются поистине гигантские, а сама программа по структуре напоминает не просто лапшу, каковую они выдавали и без AI, а разваренную слипшуюся лапшу. Разумеется, поддерживать это абсолютно невозможно, но вроде бы никто и не собирался.
Где-то на Хабре мелькала статья с результатами опросов, из которых следует, что спустя год использования AI-помощников программисты чаще наблюдают снижение своей продуктивности, чем повышение. Причина - за AI постоянно приходится допиливать, и нередко это дольше, чем написать то же самое руками.
ответить
From Andrey V. Stolyarov Sat Aug 24 08:18:08 2024 UTC
Re: Программирование и AI
Я бы сказал, что использование AI здесь не уникально и не специфично, вот это вот "снижение вместо повышения" наблюдается каждый раз, когда кто-то изобретает очередной способ "избежать" написания когда, который должен быть написан. Бездумное применение библиотек для всего подряд — и внезапно оказывается, что на изучение самих библиотек тратится чуть ли не больше времени, чем ушло бы на код без их применения, плюс потом приключения, когда создатели библиотеки решают её "усовершенствовать", плюс совершенно гигантские затраты времени тех, кому приходится собирать проект, зависящий от нескольких десятков ожиревших либ, каждая из которых тоже собирается со своими приключениями. Использование языков супервысокого уровня — и постоянные приколы с абстракциями, которые почему-то ведут себя не так, как от них ожидалось, и вдобавок по-разному на разных системах.
Теперь вот AI.
Ей-богу, уже давно не смешно.
ответить
☞ From Ян (unverified) Wed Aug 21 17:55:43 2024 UTC
Создание UI на C
Андрей Викторович, в Ваших книгах есть примеры использования FLTK для создания графических пользовательских интерфейсов.
Я хотел бы создать оный на C. Какие библиотеки и инструменты Вы бы для этого порекомендовали?
Цель проекта - это максимальная портативность.
На данный момент рассматриваю GTK.
ответить
From Andrey V. Stolyarov Thu Aug 22 10:25:24 2024 UTC
Re: Создание UI на C
GTK и переносимость? Ну-ну.
Лично мне вариантов известно два: либо писать на FLTK (но это C++), либо спускаться на уровень ниже и писать непосредственно на Xlib. Впрочем, на винду это тогда переноситься не будет, там придётся использовать WinAPI. В итоге у вас получится свой собственный слой абстракций, который займёт место готовых библиотек виджетов.
Если вопрос ставить так, что библиотека виджетов нужна внешняя (т.е. вы сами виджеты писать не готовы, что вполне понятно), чтобы она была на чистом Си и её реально можно было использовать — то я ни одной такой не видел и ни об одной такой не слышал.
ответить
From Anonymous (unverified) Thu Aug 22 11:22:04 2024 UTC
Re: Re: Создание UI на C
https://github.com/Immediate-Mode-UI/Nuklear
Вот вроде хорошая, если конечно забыть что она на гитхабе
ответить
From Andrey V. Stolyarov Thu Aug 22 13:53:08 2024 UTC
Re: Создание UI на C
Что-то гложут меня сомнения. Если авторам на результат своего труда настолько наплевать, что они для него не сделали хоть какой-нибудь сайтик, то вряд ли этот результат вообще достоин траты времени.
ответить
From Василий (unverified) Thu Aug 22 18:25:47 2024 UTC
Re: Re: Создание UI на C
> что они для него не сделали хоть какой-нибудь сайтик
В последнее время наблюдаю, что разработчики, у которых были сайтики своих программ, их потихоньку сносят и уходят на gitHub+Sphinx. :^(
ответить
From Andrey V. Stolyarov Thu Aug 22 18:36:37 2024 UTC
Re: Создание UI на C
Я это тоже наблюдаю. Полагаю, это следует рассматривать как проверку на вшивость.
ответить
From Parthen (unverified) Thu Aug 22 18:32:15 2024 UTC
Re: Re: Создание UI на C
Там сайтик есть, просто он на Github Pages
https://immediate-mode-ui.github.io/Nuklear/doc/index.html
ответить
From Andrey V. Stolyarov Thu Aug 22 18:35:46 2024 UTC
Re: Создание UI на C
Не сказал бы, что это хоть что-то меняет.
ответить
From Artem (unverified) Thu Aug 22 14:27:51 2024 UTC
Re: Re: Re: Создание UI на C
Едва ли это то, что хочет вопрошающий. Эта библиотека воплощает парадигму построения интерфейса, известную как Immediate mode. Если коротко, то раз в N времени дёргается функция перерисовки интерфейса, и именно в процессе этой перерисовки происходит реакция на действия пользователя, и одновременно с этим пересоздаются нужные элементы GUI.
Кроме того, Nuklear нуждается в рендерере, с которым всё уже не так просто. Это хорошо подходит для программ, интенсивно использующих графику, которые итак вынуждены постоянно перерисовывать содержимое окна, и в любом случае вынуждены использовать специальный рендерер, например, для игр. А вот для обычных десктопных приложений это ну ваще не то.
ответить
From Andrey V. Stolyarov Thu Aug 22 14:53:13 2024 UTC
Re: Re: Re: Re: Создание UI на C
> раз в N времени дёргается функция перерисовки интерфейса
Мда.
ответить
From Ян (unverified) Thu Aug 22 13:34:31 2024 UTC
Re: Re: Создание UI на C
Значит настало время изучить плюсы.
ответить
From Andrey V. Stolyarov Thu Aug 22 13:48:56 2024 UTC
Re: Создание UI на C
Плюсы сами по себе не так страшны, как может показаться. Вот "современные" плюсы, т.е. то, что под термином "Си++" понимают нынешние ньюфаги — это да, страшно.
ответить
From Anonymous (unverified) Thu Aug 22 14:59:40 2024 UTC
Re: Re: Создание UI на C
> писать непосредственно на Xlib
У меня некоторое время крутится в голове такая идея: спуститься ещё ниже и вручную формировать и парсить сообщения протокола X11 или сделать библиотеку, которая так делает, но не занимается вводом-выводом. Тогда программист может самостоятельно организовывать цикл обработки событий, как ему удобно.
Xlib делает ввод-вывод сама, и, более того, может заблокировать процесс.
ответить
From Andrey V. Stolyarov Thu Aug 22 17:12:47 2024 UTC
Re: Re: Re: Создание UI на C
> Xlib делает ввод-вывод сама, и, более того, может заблокировать процесс.
Я не разбирался с этим на уровне Xlib, но даже с FLTK, которая, естественно, основана на Xlib, и, больше того, совершенно не рассчитана на то, что главный цикл будет не в ней — вот даже с ней вполне нормально получается вытащить дескриптор и работать с ним, организовав свой главный цикл. Из этого следует, что с Xlib тоже так можно. Как конкретно это делать — сейчас ковыряться не полезу.
UPD: не удержался (осторожно, тонны жабаскрипта от стековерфлоу)
ответить
From Anonymous (unverified) Thu Aug 22 20:25:11 2024 UTC
Re: Re: Re: Re: Создание UI на C
Ну, это понятно, что библиотека должна уметь выдавать дескриптор: если бы такой возможности не было, то Xlib была бы совсем непригодной для использования. Но это не отменяет тот факт, что вызывать read/write она будет сама, если дёргать её функции. И, если какой-то запрос требует ответа от X-сервера, то Xlib не вернёт управление, пока не придёт ответ и она его не обработает.
ответить
From Andrey V. Stolyarov Thu Aug 22 21:39:10 2024 UTC
Re: Re: Re: Re: Re: Создание UI на C
> И, если какой-то запрос требует ответа от X-сервера, то Xlib не вернёт управление, пока не придёт ответ и она его не обработает.
Это противоречит той информации, которая есть у меня, но я не уверен в достоверности её источников. В общем тот случай, когда нужна проверка.
Но вообще блокировка в ожидании ответа от X-сервера не так страшна, главное, чтобы это не была блокировка в ожидании действий пользователя.
ответить
From Anon (unverified) Sat Aug 24 16:40:48 2024 UTC
Re: Создание UI на C
Raylib
ответить
From Andrey V. Stolyarov Sat Aug 24 16:50:21 2024 UTC
Re: Re: Создание UI на C
По-моему вообще не имеет никакого отношения к исходному вопросу.
ответить
From Artem (unverified) Sat Aug 24 20:35:26 2024 UTC
Re: Re: Re: Создание UI на C
Частично имеет, в этом проекте есть отдельная библиотека raygui. Но она тоже Immediate mode (было бы странно ждать от библиотеки для игр обычных статических окошек).
ответить
From Artem (unverified) Sat Aug 24 20:35:16 2024 UTC
Re: Создание UI на C
Удалось нарыть две библиотеки, вроде бы удовлетворяющие требованиям: 1. smgui - почти новорожденная, и как будто состоящая из реакции на уже поминавшийся Nuklear; 2. IUP - неожиданный динозавр, она даже древнее FLTK, но жива и развивается по сию пору.
ответить
From Kestrel (unverified) Sun Aug 25 18:50:03 2024 UTC
Re: Создание UI на C
IUP - Portable User Interface.
Ссылку не даю, так как её легко можно нейти через веб-поисковик.
На сайте там указано:
IUP is a multi-platform toolkit for building graphical user interfaces. It offers a simple API in three basic languages: C, Lua and LED. IUP's purpose is to allow a program source code to be compiled in different systems without any modification.
ответить
☞ From owl (unverified) Wed Aug 21 15:17:32 2024 UTC
Установка Owl на флешку
Здравствуйте, Андрей Викторович! Помогите пожалуйста с установкой, не могу понять что я упускаю.
Нашел эту инструкцию, но она мне не помогает
https://openwall.info/wiki/Owl/USB_drive?s[]=usb
Попробовал сделать
(с другими образами прокатывало)
Но здесь так не работает. Образ я перенес, а вот загрузить его не получается (то есть grub сразу выбирает то, что поставлено на жесткий диск при попытке загрузиться с флешки).
В инструкции указано, что
Но мне не понятно, что это. При попытке это сделать в примонтированном образе мне говорят, что read-only.
ответить
From Andrey V. Stolyarov Thu Aug 22 10:18:50 2024 UTC
Re: Установка Owl на флешку
Понятия не имею, в чём здесь проблема. Попробуйте написать на owl-users@, может его ещё кто-то читает.
Вообще, если совсем честно, Owl, похоже, всё-таки умер.
ответить
From owl (unverified) Fri Aug 23 13:24:48 2024 UTC
Re: Re: Установка Owl на флешку
В одном из комментариев вы говорили, что у вас на всех серверах стоит owl. Вы производили установку с флешки или с помощью диска?
ответить
From Andrey V. Stolyarov Fri Aug 23 14:25:52 2024 UTC
Re: Установка Owl на флешку
С флешки, естественно. Но последний раз я это делал в 2016 году и подробностей не помню.
ответить
From Anonymous (unverified) Sun Aug 25 17:06:38 2024 UTC
Re: Re: Установка Owl на флешку
Скорее всего просто флешка сдохла у товарища, вот и не грузится. На неё вроде пишешь через dd, а содержимое старое остаётся.
ответить
From Евгений (unverified) Fri Aug 23 14:01:53 2024 UTC
Re: Установка Owl на флешку
> Попробовал сделать
Да. Тут что-то не так. Первая строчка (создание файловой системы) бессмысленна, поскольку вторая строчка затирает этот диск образом.
Надеюсь, /dev/sdf это флешка?
У меня вторая команда отработает только от рута.
По идее она верная. После этого надо сделать перезагрузку, выйте в меню загрузки и выбрать загрузку с флешки.
Проверить целостность образа можно с помощью QEMU: qemu -boot d -cdrom owl.iso -m 4096
также можно проверить загрузку с флешки: qemu -hda /dev/sdc -boot c -usb -usbdevice disk:/dev/sdf
ответить
From owl (unverified) Sat Aug 24 18:31:42 2024 UTC
Re: Re: Установка Owl на флешку
Спасибо за полезные команды по проверке целостности и загрузке образа с флешки прямиком в qemu, я о них не знал. Что касается Owl-а (все версии x86-64) - вообще какая-то фантастика. Сделал gzip -d owl.iso.gz, получил образ. Образ записал, но он никуда не грузится (то есть как будто флешка не загрузочная и на ней нечему загружаться). Через boot menu специально прожал флешку - ноль эмоций. Что интересно - такая же история с openBSD. Так и не вкурил всех тонкостей наверное. Если операцию по записи через dd проводить на каком нибудь void linux (glibc/musl - не важно) - все запускается прям сразу. Евгений, скажите пожалуйста, вы ставили Owl? Внутри, то есть в самом образе, нужны какие-то приготовления перед записью? И может ли такое быть, что при успешной записи на флешку невозможность с нее загрузить образ - это просто несовместимость по железу?
ответить
From Andrey V. Stolyarov Sat Aug 24 20:00:33 2024 UTC
Re: Re: Re: Установка Owl на флешку
> Внутри, то есть в самом образе, нужны какие-то приготовления перед записью?
Это я точно могу сказать — нет, не нужны.
ответить
From Oliver (unverified) Sun Aug 25 07:24:47 2024 UTC
Re: Re: Re: Установка Owl на флешку
> Образ записал, но он никуда не грузится
У меня нечто похожее случалось. Сколько помню, я проблему решил тем, что в команде dd уменьшил значение параметра bs.
ответить
From doctor_whom (unverified) Sun Aug 25 10:09:10 2024 UTC
Re: Установка Owl на флешку
> Что интересно - такая же история с openBSD.
Если вы пытались записать на флешку образ ISO с OpenBSD (install??.iso), то он для этого не предназначен. На флешку нужно записывать install??.img. Это всё подробно описано в OpenBSD FAQ - Installation Guide
Ну и, вообще говоря, сам формат ISO изначально не предусматривает запись его на флешку. Чтобы создать загрузочный образ для флешки, iso-образ нужно обработать, например, командой isohybrid. Как можно догадаться из названия, она создаёт гибридный образ, который уже будет грузиться и с CD/DVD, и с флешки. Большинство дистрибутивов линукса обычно предлагают скачать уже подготовленный гибридный образ. Привыкшие к этому линуксоиды часто попадаются на попытках записать обычный, не гибридный, образ ISO на флешку и недоумевают, почему с флешки ничего не грузится. Проверьте, возможно с Owl та же история.
ответить
From owl (unverified) Sun Aug 25 17:29:25 2024 UTC
Re: Re: Установка Owl на флешку
Уменьшил bs до двух, сделал гибридный образ - такая же история. Но есть и хорошие результаты по части записи. Теперь после отработанного dd мне больше не сыпят в терминал ошибками про чтение, запись и секторы. Все равно спасибо большое, не знал об isohybrid
ответить
From Oliver (unverified) Mon Aug 26 07:38:08 2024 UTC
Re: Re: Re: Установка Owl на флешку
> Уменьшил bs до двух
Я ставил bs=1M. Кстати, то же самое рекомендуется в мануале от опен бсд.
Вообще, я не делал особых попыток понять все причины, по которым создание загрузочной флешки командой dd может не дать желаемого результата, но вот подумал, что может ваша флешка автомом примонтируется куда-то сразу после ее вставки в порт юсб, и это тоже может играть роль? Что показывает команда lsblk -f сразу после подключение флешки?
ответить
From owl (unverified) Mon Aug 26 16:26:47 2024 UTC
Re: Re: Re: Re: Установка Owl на флешку
Что интересно - тестировал на двух машинах. На одной окошечная дрянь под названием elementary OS. Вот там да, автоматически примонтируется. Но я делал в первую очередь запись на своей основной тачке - под Devuan-ом. Там без моего ведома такие вещи не происходят и флешка никуда сама не примонтируется. lsblk -f выдает пустоту в столбце точек монтирования под девуаном
ответить
From Евгений (unverified) Wed Aug 28 18:26:09 2024 UTC
Re: Re: Re: Установка Owl на флешку
> Образ записал, но он никуда не грузится.
Образ через qemu проверяли? Должен грузиться. Затем нужно через qemu проверить записанную флешку, чтобы не перегружаться по десять раз. Если образ грузится, а флешка нет, то у меня вывод: надо образ записывать на cdrom. Или преобразовывать в гибрид, но я таким не занимался. Все системы, которые я ставил, умели грузиться с флешки.
ответить
From Andrey V. Stolyarov Wed Aug 28 18:28:59 2024 UTC
Re: Re: Re: Re: Установка Owl на флешку
У меня созрел процедурный вопрос: вы понимаете, что такое пустая строка? Не перевод строки, а именно пустая строка? Мне уже надоело за вас эти строки вставлять в ваши комменты.
ответить
From owl (unverified) Thu Aug 29 21:09:55 2024 UTC
Re: Re: Re: Re: Установка Owl на флешку
Просто qemu запустить не получается, а вот qemu-system-x86_64 выдает следующую информацию:
ответить
From owl (unverified) Sun Sep 8 11:58:38 2024 UTC
Re: Re: Re: Re: Re: Установка Owl на флешку
Смог все таки записаться, хех. Рассказываю: брал две флешки примерно одинаковой стоимости и разных производителей. На обе попытки записи провалились и при попытках загрузиться ноут сразу кидало в grub на жестком диске. Взял флешку от третьего производителя и, я не знаю каким чудом, но именно на нее сразу встал гибридный образ и после перезагрузки я увидел долгожданный Openwall. Способ записи я не менял, все такой же dd с bs=4M, но образ прогнал через isohybrid на всякий случай :) Всем большое спасибо за массу полезной информации по qemu и проверке флешки. Никогда бы не подумал, что могут быть "кривые" носители, которые годятся только для хранения на них файлов и все.
ответить
☞ From anon (unverified) Tue Aug 20 10:03:11 2024 UTC
Преподавание
Здравствуйте, Андрей Викторович! У меня 3 года опыта коммерческой разработки и законченная магистратура. Сейчас поступаю в аспирантуру и мне предложили вести пары по плюсам в одной группе бакалавров. Профессиональных навыков, конечно, с головой хватает, чтобы рассказывать базовые вещи. Но хорошие студенты имеют свойство задавать хорошие вопросы, на которые ответа может не найтись, всё-таки 3 года это не очень много. По своему опыту знаю, что аспиранты часто на вопросы ответить не могут, в прочем хорошо рассказывать базу это им не мешало.
С высоты вашего опыта, как считаете, можно попробовать или лучше попозже?
ответить
From Andrey V. Stolyarov Tue Aug 20 11:37:41 2024 UTC
Re: Преподавание
Лучше пораньше. Кроме шуток. Если вам студент задаёт вопрос, а вы не знаете ответа — нужно просто честно ответить "не знаю". У меня за 20+ лет преподавания с этим вот "не знаю" ни разу проблем не было. Зато я видел, как некоторые мои (к счастью, бывшие) коллеги готовы ужом извернуться, лишь бы не признать отсутствие всезнания. Студенты таких довольно быстро начинают искренне и незамутнённо презирать.
ответить
From WhiteRex (unverified) Tue Aug 20 15:48:37 2024 UTC
Re: Преподавание
А можно преподавать если сам вчера закончил специалитет?
ответить
From Andrey V. Stolyarov Thu Aug 22 10:20:08 2024 UTC
Re: Re: Преподавание
Лекции читать нельзя (учёная степень требуется), но семинары вести можно. Ну, это если формально. А если неформально — то каждый решает сам.
ответить
From anon (unverified) Thu Aug 22 10:51:21 2024 UTC
Re: Re: Преподавание
А кто же тогда преподавать должен? Если вы предлагаете закончивших аспу, то где набрать столько людей?
У нас есть фильтрация со стороны лектора, кто попало, закончивший магистратуру/бакалавр, к преподаванию не допускается.
ответить
From Andrey V. Stolyarov Thu Aug 22 11:12:49 2024 UTC
Re: Преподавание
В целом много где считается, что для преподавания нужно быть хотя бы аспирантом. Но формально это пофигу, кого кафедра назначила на конкретные семинары, тот их и ведёт. Формальное требование — только наличие высшего образования (кстати, не знаю, каков в этом плане статус бакалавров; спецы и магистры точно могут).
ответить
☞ From Anonymous (unverified) Mon Aug 19 08:32:11 2024 UTC
Насколько важна безопасность программ на C
Меня несколько беспокоит количество подводных камней при написании кода на C (хотя в других языках тоже есть, но чуть меньше). Если конкретно, то это например такие штуки:
1) var=malloc(n*sizeof(int));
Мне бы и в голову не пришло проверять на целочисленное переполнение перед вызовом malloc и лишняя обёртка из if понятности и читаемости коду не прибавляет.
2) Ошибки ±1 при выделении памяти и проходе циклов.
3) Undefined behavior
Пока что все мои программы на C работают у меня же на компе и данные я же им и скармливаю, поэтому самое худшее что может случиться — это если программа выдаст неверный результат, который я тут же и поправлю. А скорее вообще ничего не будет, я же тестирую при написании на своём же компе и миллиард элементов давать обычно не пробую.
Но что, если я начну писать серверный софт, те же CGI, а привычка не заморачиваться над теми же переполнениями целых останется?
ответить
From Andrey V. Stolyarov Mon Aug 19 09:15:59 2024 UTC
Re: Насколько важна безопасность программ на C
> Мне бы и в голову не пришло проверять на целочисленное переполнение перед вызовом malloc
Никто и не проверяет. Нужно изначально писать так, чтобы в n никогда не возникло "неожиданно большое" число (и дело не в переполнении целых, речь ведь идёт о выделении памяти, тут можно denial of service огрести без всякого переполнения — на числах, на многие порядки мЕньших, чем нужно для переполнения); если даже это обеспечивается некими проверками, то это должно происходить задолго до malloc.
> 2) Ошибки ±1 при выделении памяти и проходе циклов.
А вот тут придётся быть внимательным, других вариантов нет.
> 3) Undefined behavior
Понятие UB введено "стандартами". Это всё, что о нём следует знать.
> те же CGI
CGI не так критичны (хотя, конечно, критичны, поскольку обрабатывают данные, пришедшие извне; но первым бастионом на пути атакующего оказывается HTTP-сервер). А вот, например, программы, слушающие открытые порты — это да.
> привычка не заморачиваться
"Привычки не заморачиваться" при работе на Си быть не должно. Иной вопрос, что применять нужно здравый смысл и понимание, что на самом деле может произойти, а не всякую ерунду, написанную людьми, которые сами ни черта не понимают.
ответить
From Anonymous (unverified) Mon Aug 19 16:56:51 2024 UTC
Re: Re: Насколько важна безопасность программ на C
> можно denial of service огрести без всякого переполнения
Ну DoS такого плана как правило не критичен. Если данных так много то их вообще не получится обработать в любом случае, разве что свопить. Проблема в записи в память другой переменной и возможное переполнение стека.
> "Привычки не заморачиваться" при работе на Си быть не должно. Иной вопрос, что применять нужно здравый смысл и понимание, что на самом деле может произойти, а не всякую ерунду, написанную людьми, которые сами ни черта не понимают.
Так в этом и проблема. Просто написать программу на C я могу, а вот сделать её ещё и безопасной — вот с этим сложности. Так что, вообще не пытаться писать сетевые программы?
Слишком много тонкостей и кроме тех трёх пунктов, а каждый из пунктов ещё на несколько разбивается. Мне кажется почти нереальным предусмотреть всё, что может пойти не так, если программа обрабатывает входные данные, которым нельзя доверять.
ответить
From Andrey V. Stolyarov Mon Aug 19 17:44:10 2024 UTC
Re: Re: Re: Насколько важна безопасность программ на C
> Ну DoS такого плана как правило не критичен.
А что критично, простите? Ну, наверное, remote root на вашей домашней машине критичен, но вы же не собираетесь на ней гонять серверный процесс, видимый из интернета и имеющий root'овые полномочия?
> Проблема в записи в память другой переменной и возможное переполнение стека
От вашей фразы ощущение такое, что вы её повторяете за кем-то, не имея понимания, о чём в действительности идёт речь, и не факт, что такое понимание было у того, за кем вы повторяете. Да, промахиваться мимо собственных массивов не надо. И что? При чём тут целочисленное переполнение при вычислении аргумента для malloc?
> Мне кажется почти нереальным предусмотреть всё
Для начала вам, по-видимому, стоит отбросить тот источник, которым вы сейчас пользуетесь. Реальность такова, что если там не нашли ничего лучшего, нежели настаивать на проверке целочисленного переполнения при вычислении аргумента malloc, значит на самом деле авторы текста в безопасности понимают примерно столько же, сколько я в женской парфюмерии (т.е. почти ничего).
> вообще не пытаться писать сетевые программы?
Не пытаясь, вы ничему не научитесь. Так что пишите, и как можно больше.
Вообще чего вы, собственно, боитесь? Программа, пусть даже слушающая порт, но при этом работающая под изолированным пользователем, мало чем вам грозит, даже если её сломают. Да даже если вы возьмёте себе VPS и её кто-то проломит, ну нажмёте в веб-интерфейсе вашего хостера кнопочку reinstall. А свой собственный рабочий компьютер (на котором вполне может даже и есть чем поживиться взломщику) вы вряд ли станете выставлять в интернет открытыми портами, не?
К тому времени, когда доберётесь до написания критически важных программ, опыт у вас будет уже качественно иного уровня.
ответить
From Anonymous (unverified) Mon Aug 19 20:37:33 2024 UTC
Re: Re: Re: Re: Насколько важна безопасность программ на C
Речь о том, что в куче (то есть выделенной ОС динамической памяти, управляемой libc) за участком памяти, куда должны записываться данные со входа может оказаться какой-нибудь участок памяти, содержащий что-нибудь, позволяющее влиять на поведение программы.
Суть не конкретно в переполнении в malloc, а вообще в выделении меньшего количества памяти чем нужно из-за неучтенных факторов. Просто слишком много таких моментов и у меня ощущение, что код вырастет раза в два и станет малочитаемым если добавить все нужные проверки.
ответить
From Andrey V. Stolyarov Mon Aug 19 21:24:55 2024 UTC
Re: Насколько важна безопасность программ на C
> а вообще в выделении меньшего количества памяти чем нужно из-за неучтенных факторов
Размер выделения памяти тут ни при чём. "При чём" тут ровно одно: надо помнить, какого размера кусок памяти был выделен, и проверять, что за этот размер пока не вышли. Вот это делать совершенно необходимо, и от этого вы никуда не денетесь. Вообще. Этот паровоз ездит только так.
Подчёркиваю жирно и тремя чертами: размер массива, задаваемый изначально, никакого отношения к этой проблеме не имеет. Если у вас нет стопроцентного априорного знания, какого размера будет массив, то вы в любом случае никуда не денетесь от того, чтобы написать в каком-то месте программы изменение его размера (выделить новый, скопировать данные из старого, грохнуть старый, присвоить указателю адрес нового). Настоятельно рекомендую realloc не использовать (даже если знаете о его сущестовании), пока не научитесь писать без него и не почувствуете полную уверенность в происходящем (до такой степени, чтобы нужный код стекал с пальцев без напряжения головного мозга). И осознайте один тривиальный момент: наличие в программе этого куска кода неизбежно. Ну вот неизбежно. Начальный размер не может быть выбран так, чтобы этого куска кода вообще не было, а если он всё равно есть — то пофигу, какой там начальный размер.
> Просто слишком много таких моментов
"Таких моментов" ровно столько, сколько у вас динамически выделяемых массивов. Не больше и не меньше. Их не слишком много и не слишком мало, их ровно столько.
Можете, если угодно, использовать списки, с ними этой проблемы нет. Впрочем, проблемы тут в любом случае нет, есть только ваша стадия отрицания. Это пройдёт.
Ах, да, чуть не забыл: никакого отношения к безопасности это всё не имеет вообще.
ответить
From Anonymous (unverified) Mon Aug 19 22:08:16 2024 UTC
Re: Re: Насколько важна безопасность программ на C
> выделить новый, скопировать данные из старого, грохнуть старый, присвоить указателю адрес нового
Хотел написать, что последние два пункта должны быть в обратном порядке, осознал что тогда указатель на старый массив будет утерян. Но если именно в таком порядке и код многопоточный, то другой поток может записать что-то по старому адресу, когда он уже уничтожен.
> "Таких моментов" ровно столько, сколько у вас динамически выделяемых массивов.
Я недостаточно конкретно выразился. Я имел ввиду вообще тонкости, когда в программе может произойти что-то неожиданное для программиста, когда надо что-то проверить прежде чем делать что-то ещё, и хорошо ещё если это можно исправить правкой кода. А есть ещё связанные с компилятором приколы, например код который обнуляет участок памяти, где хранился ключ шифрования заоптимизирован вникуда.
ответить
From Andrey V. Stolyarov Tue Aug 20 07:32:56 2024 UTC
Re: Re: Re: Насколько важна безопасность программ на C
> если именно в таком порядке и код многопоточный
Если код многопоточный, его автора нужно подвергнуть эвтаназии. И если вы с этим не согласны, то мне вообще непонятно, что вы забыли на моём сайте.
> Я имел ввиду вообще тонкости
Исходя из того, что у вас уже вылезла многопоточность, при том что программировать вы вроде бы не умеете, я уже практически уверен, что вы зачем-то взяли текст одного из тех моральных уродов, которые считают своим долгом показать всему миру собственную (недостижимую для остальных) крутость, и зачем-то в этот текст поверили.
В принципе дело ваше, только какого чёрта вы здесь тогда делаете? Вы что, начали с Си? Я утверждаю, что этого делать нельзя, вы вправе не соглашаться, но, опять-таки, какого чёрта вы тогда здесь? Идите дальше жрите всякое говно, которого в достатке успели наплодить всевозможные ньюфаги.
ответить
From Anonymous (unverified) Tue Aug 20 07:59:16 2024 UTC
Re: Re: Re: Re: Насколько важна безопасность программ на C
Нет, с C я не начинал и что такое побочные эффекты я понимаю, более или менее.
ответить
From Andrey V. Stolyarov Tue Aug 20 08:04:06 2024 UTC
Re: Насколько важна безопасность программ на C
Ну, я за вас рад. Но прибавить к уже сказанному мне нечего.
ответить
From Паранойя (unverified) Mon Aug 19 12:53:41 2024 UTC
Re: Насколько важна безопасность программ на C
С такой мыслью к тестированию лучше не приступать. ;)
А может n оказаться отрицательным или получиться из отрицательного числа, если n само unsigned?
ответить
From WhiteRex (unverified) Tue Aug 20 15:00:38 2024 UTC
Re: Насколько важна безопасность программ на C
Смотря что это за "n". Обычно можно прикинуть в уме, какие значения может принимать та или инная переменная. Если эту "n" вводит пользователь, то там само собой разумеется поставить какое-то ограничение (типо, если n больше 100, то принять её равной 100, и написать в поток для ошибок, что значение слишком большое, поэтому принято за 100). А если эта "n" внутри программы, то переполнения скорее всего может быть только при операциях вычиталния из unsigned int. Это легко отследить, по принципу "вычитается из unsigned - значит есть вероятность переполнения". На счёт стека, на форумах пишут что ошибка "переполнения стека" есть практически в любом языке высокого уровня, даже на Java Script. Так что это не какая-то особенность СИ, наверное.
ответить
From Andrey V. Stolyarov Thu Aug 22 10:28:47 2024 UTC
Re: Re: Насколько важна безопасность программ на C
Переполнение стека само по себе ничем не страшно, программа просто падает. Обычно новичков всякие самозваные гуру пугают переполнением стековых буферов, это совершенно иное — если его допустить, можно создать эксплойтабельную дыру (за счёт затирания адреса возврата из подпрограммы). Вот только (а) безалаберность в программировании недопустима на любом языке, отнюдь не только на Си, и (б) всякие эти "пугатели", как правило, сами не вполне понимают, о чём говорят.
ответить
☞ From Proger Sun Aug 18 14:13:42 2024 UTC
Web похоронить, web похоронить...
Слушайте, а если говорить не о принципиально новой модели сети, а о клиент-серверной, то зачем изобретать gemini, spartan и т.п.?
Можно же просто использовать telnet BBS. Софт написан миллион лет назад, проверен, работает. Из клиентского софта нужен лишь простой как барабан telnet-клиент. Визуально оформлено может быть как угодно (в контексте терминала, даже с ANSI графикой). Client side скриптов нет и быть не может, серверная программа может быть любой сложности.
ответить
From Andrey V. Stolyarov Sun Aug 18 15:27:33 2024 UTC
Re: Web похоронить, web похоронить...
Ну, веб-то, конечно, этой штукой не закопать, она про другое. Фишка веба в ссылках и возможности прыгать с сервера на сервер без вот этой вот всей процедуры входа, регистрации, ответов на вопросы и прочего.
Но вообще интересно. Закопать веб — задача важная, но не единственная. Я правильно понимаю, что серверные реализации там сочетают в себе, кроме самой этой BBS'ки (т.е. фактически системы текстовых менюшек, отдаваемой через telnet) ещё и ftp/gopher/smtp/pop3/imap?
Вообще век живи, век RTFM. Пошёл дальше ковыряться.
ответить
From Proger Sun Aug 18 16:25:03 2024 UTC
Re: Re: Web похоронить, web похоронить...
> Фишка веба в ссылках и возможности прыгать с сервера на сервер без вот этой вот всей процедуры входа, регистрации, ответов на вопросы и прочего.
Резонно, но если договориться о формате ссылок на другие BBS, то проблема решаемая.
> Я правильно понимаю, что серверные реализации там сочетают в себе, кроме самой этой BBS'ки (т.е. фактически системы текстовых менюшек, отдаваемой через telnet) ещё и ftp/gopher/smtp/pop3/imap?
На тех, куда я заходил, этого не было. Регистрация прям там, забыл пароль -- твои проблемы. Но я не вижу проблем в теории дернуть sendmail и отправить почту, равно как и не вижу проблему поддерживать FTP.
Можно ещё подумать в сторону ssh. Через него и файлы передавать можно, и безопасность есть -- хоть банк обслуживай, и все проблемы с шифрованием вынесены в отдельный комплект программ, от которого нужен конкретный интерфейс, а реализация может быть любой (совместимой).
ответить
From Andrey V. Stolyarov Sun Aug 18 17:03:12 2024 UTC
Re: Web похоронить, web похоронить...
Видимо, это мне так повезло, я на какую-то BBSку зашёл наугад, вот там был весь букет. Но это, наверное, местный сисоп расстарался.
Тут дело не в том, что "можно сделать", а в том, что мне почудилось готовое решение проблемы, на которую я зубы точу уже лет десять. В гипотетически решённом виде проблема выглядит так: берём VPS, накатываем на неё некую софтину (ровно одну, и без внешних зависимостей, т.е. очевидно написанную на C, в крайнем случае C++, и со всеми библиотеками уже в архиве, возможность статической сборки обязательна, интерпретируемые языки не предлагать), прописываем несколько наиболее важных параметров (в идеале — доменное имя, и всё), после чего зовём всех друзей пользоваться новым узлом. К учётной записи на узле прилагаются по меньшей мере почта и файлопомойка, в идеале ещё и XMPP, и что-нибудь вроде блога.
Ключевое слово тут — одна софтина и минимум конфигурения. Я прекрасно знаю, что всего этого можно добиться существующим софтом, даже знаю как, но много-много кусочков, каждый с толпой зависимостей и для каждого простыни конфигов — это не то решение, которое мне интересно. Сисадмином я последний раз работал четверть века назад, но что такое "трудозатраты на администрирование", прекрасно знаю, а ещё знаю, сколько усилий я готов потратить бесплатно, а сколько не готов.
Что касается "формата ссылок", то это вообще не о том. Веб бы тоже не существовал в нынешнем виде, если бы на каждый сайт нужно было логиниться и отвечать на вопросы, прежде чем добраться до содержимого. Конечно, если задаться целью, видимо, возможно чего-то похожего на нашу цель добиться с использованием протокола telnet, но ни существующие клиенты, ни, насколько я вижу, существующий софт для telnet BBS для этого не подходят, софт придётся писать новый, и я не вижу, почему для этого нужно использовать именно telnet.
UPD: сожалею, но продолжать эту беседу я с вами не буду, это абсолютно пустая трата времени. Ощущение такое, что вы не понимаете, о чём идёт речь. Поскольку с вами это уже второй случай, настоятельно рекомендую вам найти какой-нибудь другой сайт для развлечений.
ответить
From Anonymous (unverified) Mon Aug 19 21:18:10 2024 UTC
Re: Re: Web похоронить, web похоронить...
Что-то похожее есть в fossil, правда не для общения, но там один бинарник который даёт сразу и систему контроля версий и веб-сайт для программы, включая вики и тд.
ответить
From Andrey V. Stolyarov Mon Aug 19 21:30:51 2024 UTC
Re: Web похоронить, web похоронить...
Какой попало комбайн мне не нужен, мне нужен вполне конкретный.
ответить
From Дилетант (unverified) Mon Aug 19 00:42:43 2024 UTC
Re: Re: Web похоронить, web похоронить...
Для виндовых реализаций это типично.
ответить
From Andrey V. Stolyarov Mon Aug 19 08:04:06 2024 UTC
Re: Web похоронить, web похоронить...
Виндовые мне не интересны за неимением винды, а даже если бы она у меня и была, я бы уж точно не стал её выставлять
голым задомоткрытыми портами в интернет. Но там вроде бы есть реализации переносимые, вот они это своё свойство утрачивают при переносе на *nix или как?ответить
☞ From Vadim (unverified) Sun Aug 18 10:30:03 2024 UTC
Ступор
Здравствуйте, Андрей Викторович. Возможно, что Вы этот бред не пропустите, но я всё таки попытаюсь описать проблему с которой я столкнулся.
Я прочитал весь ваш трехтомник. Я понимаю C (хотя я и не знаю своего уровня этого понимания, если честно), могу даже прочесть и понять код чужой, если он не слишком сложен. Но есть одна проблема - я не могу написать свой код. У меня есть идея, есть цель, есть даже какая-то логика в голове и на бумаге, и в голове всё укладывается словно пазл. Но когда я сажусь за само программирование - у меня ступор, я просто сижу и пялюсь в экран, как баран на новые ворота. Любые мои попытки написать код сопровождается очень сильной самокритикой, что я просто всё удаляю и ухожу в свои размышления снова. У меня получалось что-то выцедить иногда, оно даже работало, но это было не то, что я хотел.
Неужели мне просто не стоит вообще заниматься этим? Но мне и правда очень хочется этим заниматься, просто в голове, судя по всему, бардак. И как мне с этим вообще справиться? Пишу потому что хочу найти совет. Мне хочется услышать мнение со стороны, ибо рядом людей, которые в этом разбираются, нет, да и к вашему совету будет доверия больше, чем от других, если честно.
ответить
From Andrey V. Stolyarov Sun Aug 18 10:38:41 2024 UTC
Re: Ступор
У меня встречный вопрос: с Паскалем и ассемблером было то же самое? Если да, то о каком вообще Си может идти речь?
Ну то есть если вы
(а) "читали" мой трёхтомник (хотя его надо не "читать", а учиться программировать с его помощью; просто читать бессмысленно);
(б) сами явным образом признаёте, что у вас не получается писать программы; и
(в) при этом пытаетесь писать на Си,
то какого совета вы от меня ждёте? И почему именно от меня? В книгах вполне ясно написано, как работает моя методика обучения, и она полностью исключает такую ситуацию, которая сложилась у вас. Проблемы подобного рода могут (при обучении по моей методике) возникать только при попытках программировать на Паскале, и там же — с помощью Паскаля — они должны быть ликвидированы, т.е. научиться программировать нужно именно на примере Паскаля, потом нужно набрать определённый опыт работы на языке ассемблера, и только после этого, и не раньше, допустимо хвататься за Си.
Если же вас моя методика не устраивает, то чего вы от меня ожидаете? Нет, начинать программировать с языка Си нельзя, никак, никому, никогда, исключения не допускаются. Вы имеете полное право не соглашаться, но тогда стоит, наверное, найти более подходящие учебники и уж точно более подходящего "советчика".
ответить
From Vadim (unverified) Sun Aug 18 10:53:22 2024 UTC
Re: Re: Ступор
Возможно я и правда страдаю ерундой. Видимо, придется полностью пересмотреть весь свой опыт. К методике вашей у меня нет никаких претензий, меня всё устраивает. Спасибо за ответ.
ответить
From Andrey V. Stolyarov Sun Aug 18 11:00:21 2024 UTC
Re: Ступор
А "опыт" вообще есть? В смысле, есть что пересматривать?
По-моему, тут всё намного проще: нужно вернуться к части о Паскале, придумать себе задачу и на Паскале её сделать. Если ничего не придумывается, в крайнем случае задачник есть.
ответить
From Anonymous (unverified) Sun Aug 18 12:13:19 2024 UTC
Re: Re: Ступор
А если прошел через паскаль и ассемблер, но давно, например когда только первое издание вышло, потом забросил, то при повторном заходе имеет смысл снова к паскалю возвращаться, если указатели в своё время особой проблемы не вызвали, но на ассемблере писал не для x86, а для i8080?
ответить
From Andrey V. Stolyarov Sun Aug 18 15:38:12 2024 UTC
Re: Re: Re: Ступор
> если указатели в своё время особой проблемы не вызвали
Указатели — не единственная проблема, решаемая начальным обучением именно на Паскале. Кроме них, есть ещё проблема восприятия побочных эффектов, и я бы даже сказал, что она важнее. Через указатели человек так или иначе проломится, если мотивации хватит, а вот сишность головного мозга (состоящая как раз преимущественно в том, что человек не видит ничего плохого в побочных эффектах к месту и не к месту) — ну, она не лечится.
Возвращаться к Паскалю или нет — зависит от опыта, который вы там успели набрать. Если вы на Паскале написали программу, у которой сейчас есть сторонние пользователи, причём они её используют, потому что она им полезна, а не потому что вы их слёзно умоляли — то цель заведомо достигнута. Вот только мой опыт показывает, что так бывает крайне редко.
Можно более-менее согласиться, что паскалевского опыта скорее всего уже достаточно, если общий объём написанных программ перевалил за 5000 строк, причём хотя бы одна из них была не меньше чем на 2000 строк (одна). Вообще, конечно, это всё условно.
> на ассемблере писал не для x86, а для i8080?
А вот это как раз пофигу, тут главное поймать вот это вот ощущение, как работать на уровне процессорных команд, когда в вашем распоряжении только память и регистры. То есть для получения нужного опыта ассемблер сойдёт любой.
Единственный момент — есть такая штука "системный вызов", вот опыт исполнения таковых вручную, без сишных обёрток, весьма способствует потом пониманию сущности операционной системы. Но в принципе без этого можно и обойтись.
ответить
From Ilya Mon Aug 19 20:37:35 2024 UTC
Re: Ступор
Ничего, с практикой и временем все придет, главное желание. Эх, мне бы ваши проблемы, я вот уже который месяц Хаскель грокнуть не могу, при том что на изучение других языков, включая (C++, лисп, ассемблер), уходило не больше месяца на каждый, без всяких преподавателей. В частности, мне так никто не смог объяснить, что такое монады и зачем они нужны. Из того что я о них прочитал в интернете, они мне скорее напоминают бред человека, который наелся мухоморов и ему вруг пришло божественное откровение, которое он пытается объяснить (сам мухоморы ел, словами этот опыт и правда передать нельзя).
И самое противное, я даже незнаю какие программы мне писать для практики на Хаскелле. Я прекрасно понимаю, где в отдельных частях императивной программы удобно задействовать функциональную парадигму, но вот какие могут быть use cases где вся программа написана на чисто функциональном языке, кроме разве что парсера? Все задачи из реального мира (т.е. без всяких "докажи теорему" и прочее) которые мне приходят в голову, отлично решаются в императивной + ООП парадигме. Я конечно видел примеры, как кто то мессенджер на Хаскелле делал, но такое я писать не хочу из принципа, оно противоречит философии языка, для таких вещей есть Си.
ответить
From Andrey V. Stolyarov Mon Aug 19 21:14:05 2024 UTC
Хаскель
Возможно, вас утешит такой момент, что для меня Хаскель стал первым и пока что единственным языком, который я не осилил. Были такие, которые я не смог изучить, поскольку не смог преодолеть отвращение; первым таким когда-то давно стал Перл, потом было много чего ещё. Но Хаскель вроде отвращения не вызвал. Значит, я его именно что не осилил, а не что-то другое.
Надо сказать, что моя жена пишет на Хаскеле за деньги, и она утверждает, что более-менее поняла, что происходит, через два года после начала профессиональной работы. И что там все более-менее за этот срок проходят путь от программирования наощупь до более-менее осознанных действий.
Что касается вопроса, что такое монада, то, насколько я могу судить, всех начинающих хаскелистов (поголовно) беспокоит ровно тот же вопрос. А тех, кто уже не начинающий, беспокоит вопрос, как же, блин, ёжкин кот, массаракш, объяснять это начинающим. И это положение существует с тех времён, когда Хаскель только придумали.
Подозреваю, что способа объяснения монад не существует.
ответить
From merino (unverified) Tue Aug 20 07:05:19 2024 UTC
Re: Re: Ступор
Задачи из реального мира также вполне неплохо решаются на Хаскеле. Да, в реальных проектах будет не 100% чистых функций, а 50, 30 или даже меньше, но в любом количестве они, как мне кажется, существенно облегчают понимание программ - я смотрю на чистую функцию и понимаю, что подвоха точно нет - результат зависит только от входных аргументов. Однако даже для всего остального кода, написанного в монадах и больше похожего на императивный за счет синтаксического сахара, именуемого do-нотацией, есть приемы, позволяющие в типе функции указать, какие побочные эффекты возможны, а какие нет. Условно, одна функция может только читать файлы, причем не все, только какие-то определенные, другая может только делать сетевые вызовы на определенный хост, третья использует первые две, поэтому в ее типе должно быть указано и то и другое. К тому же, приемы, характерные для чисто функционального стиля (map, filter, foldr и т.д.) отлично переносятся и на монадный код.
По поводу
> use cases где вся программа написана на чисто функциональном языке
первое, что приходит в голову - различные компиляторы/кодогенераторы.
ответить
☞ From Ilya Sun Aug 18 07:41:54 2024 UTC
Протокол Spartan
Наткнулся тут на протокол Spartan, это буквально Gemini, только проще (хотя казалось бы, куда уж проще). В частности, из спецификации убрано требование иметь TLS и UTF-8 и добавлена возможность file upload со стороны клиента, а еще кол-во статус кодов сократили до 4 штук. Подробнее можно ознакомится здесь. Осталось написать простенький сервер с поддержкой подобия CGI, портировать под него Талассу и веб можно закапывать :)
ответить
From Andrey V. Stolyarov Sun Aug 18 08:12:22 2024 UTC
Re: Протокол Spartan
Reference implementation ожидаемо на питоне, про другие реализации сведений не приводится.
А почему "подобие CGI"? Вполне можно сделать CGI как CGI, чтобы ничего не надо было никуда портировать. Генерить gemtext дело нехитрое, Талассу на это можно заточить правкой конфигов, ей в целом пофигу, что генерить, лишь бы текст.
ответить
From Ilya Sun Aug 18 08:35:11 2024 UTC
Re: Re: Протокол Spartan
Других реализаций полно, даже небольшой список сайтов есть.
> Талассу на это можно заточить правкой конфигов
Плохо знаю что там под капотом, но мне казалось thalcgi выплевывает в stdout голый html при генерации комментов, как и все другие цмски, а какие там тогда конфиги надо править?
ответить
From Andrey V. Stolyarov Sun Aug 18 09:17:50 2024 UTC
Re: Протокол Spartan
thalcgi.cgi выплёвывает исключительно то, что ему сказано в thalcgi.ini :-) Ну, на самом деле там есть хитрость с заголовком, согласно протоколу CGI на stdout должен быть выплюнут заголовок (как минимум "Content-type:"), и это не отстригается, поскольку это часть протокола CGI. Имеющаяся версия thalcgi.cgi туда всегда выдаёт text/html, это можно либо проигнорировать, либо таки пропатчить thalcgi.cgi, чтобы значение этого поля сделать настраиваемым. А вот то, что выдаётся после заголовка и пустой строки — собственно сгенерированный ответ — полностью определяется содержимым конфига, thalcgi.cgi от себя ни одного символа не вставляет. Как, собственно, и сама Таласса, в смысле бинарь thalassa, которая генерирует все страницы, в URI которых нет "thalcgi.cgi" (в том числе и страницы с комментами).
Тут не стоит путать, страницы с комментами генерируются статически точно так же, как и любые другие, и это делает генератор, а не CGI. CGI только формочки выдаёт и обрабатывает. В этом плане Таласса резко отличается от "всех других цмсок".
ответить
From Ilya Sun Aug 18 09:37:40 2024 UTC
Re: Re: Протокол Spartan
Теперь понял, до меня только сейчас доперло зачем все эти макросы нужны, из доков как то не уловил, правда посмотрев на thalcgi.ini из темплэйта, осознал что на мою затею времени уйдет много. Скажите, а можно еще что бы оно наоборот из, например, Markdown в html генерило? Или придется юзать внешние конвертеры? На голом html блог писать не хочется.
ответить
From Andrey V. Stolyarov Sun Aug 18 09:42:08 2024 UTC
Re: Протокол Spartan
Ну, Markdown точно не будет, я думал на тему чего-нибудь попроще вроде bbcode.
Сейчас для блога наиболее адекватный формат — texbreaks, собственно тот, что тут вот в комментах применяется; оно при этом пустые строки рассматривает как разделитель абзацев. Если фильтр тегов не включать, то HTML-теги будут работать любые (естественно, это только если такой текст может закинуть только владелец сайта; для сторонних пользователей разрешать произвольный HTML нельзя).
ответить
☞ From Ян (unverified) Sat Aug 17 08:33:26 2024 UTC
RUST как замена C
Здравствуйте, Андрей Викторович! Спасибо за прекрасные книги. С удовольствием их иногда перечитываю.
Есть такой вопрос. В мире уже много шума наделал язык RUST, я немного на нём пробовал писать, но сравнить это можно как жизнь с женой у тёщи, где много правил и ограничений. В принципе, это и есть смысл РАСТ - оберегать от ошибок путём проверки на этапе компиляции не нарушены ли, к примеру, правила владения и заимствования. Что Вы думаете о RUST?
ответить
From Andrey V. Stolyarov Sat Aug 17 13:35:30 2024 UTC
Re: RUST как замена C
> как жизнь с женой у тёщи
Я бы предложил более сильное сравнение: Rust — это как тоталитарная секта. Впрочем, без всяких "как": Rust — это тоталитарная секта, деструктивная, опасная для окружающих, и, как и в любую секту, туда крайне редко попадают нормальные люди. А когда попадают — перестают быть нормальными.
ответить
From far Sun Aug 18 17:18:11 2024 UTC
Re: RUST как замена C
На всякий случай скажу, что с rust'ом взаимодействовал год назад, но я сомневаюсь, что что-то кардинально изменилось.
Ранее на сайте обсуждалось, как программисту следует обращаться с зависимостями его программ. Программы на rust почти всегда собираются при помощи собственного пакетного менеджера cargo, который, помимо этого, также выступает и системой сборки. Программист задаёт прямые зависимости программы в файле сборки и cargo выкачивает их из интернета вместе с уже их собственными (то есть косвенными для программы) зависимостями. После этого все зависимости вместе с самой программой компилируются.
У этого подхода есть одно мнимое преимущество: программисту не нужно думать о том, откуда брать/как компилировать зависимости. Эта проблема решается за него полностью. На этом преимущества заканчиваются и начинаются недостатки.
Во-первых, для компиляции программы нужен интернет. Это уже недостаток фатальный, но не потому, что соединения с сетью невозможно избежать, а потому, что создатели посчитали это нормальным; фатальный настолько, что он не оставляет крабу никаких шансов. Почти наверняка дерево зависимостей программы можно предварительно выкачать, но так обычно не делают. На этом некоторые бы закончили, но мы двигаемся дальше.
Во-вторых, информацию о библиотеках нужно откуда-то брать, и берут её из crates.io [1] - глобального реестра зависимостей. То есть компиляция программ становится в некоторой степени централизованным процессом с единой точкой доверия и отказа. В довесок к этому, чтобы опубликовать библиотеку или программу в crates.io нужна учётная запись на сайте github [2], которым владеет Microsoft.
Да, реестр crates.io - лишь реестр по умолчанию, и cargo не "приклеен" к нему. Но умолчания важны: Mozilla за умолчание получает 400 миллионов долларов в год. Чести ради, ещё есть lib.rs реестр, но я некоторое время назад писал Rust код за деньги и узнал о нём только сейчас. Таким образом номинально выбор есть, но на практике подавляющее большинство использует crates.io.
Наконец, третий недостаток является фундаментальным следствием самого автоматичесткого подхода: когда проблема решается сама, программист перестаёт стремиться её избежать. А зачем стремиться к простоте системы, если это требует дополнительных усилий, а проблему и так решат за нас? В итоге деревья зависимостей разрастаются до размеров за гранью всякого приличия. Я видел программы с более чем 1000 зависимостями, но если говорить о норме, то firefox требует ~500, librsvg (по-моему самая популярная svg библиотека) - ~227, alacritty (эмулятор терминала) - ~202. Благодаря наличию пакетных менеджеров с отслеживанием зависимостей, их чрезмерное количество присуще и некоторым программам на Си [3], но здесь, из-за интеграции решения ближе к компилятору, проблема приобрела совсем другой масштаб.
Помимо этого rust зависит от llvm. Я придерживаюсь мнения, что любой разработчик программ по-хорошему должен полагать, что на компьютере конечного пользователя есть лишь строго определённый, ограниченный набор программ, которые его программа может использовать для собственной компиляции. На существование остальных программ в системе она полагаться не должна. Каким должен быть этот набор? С моей точки зрения он должен быть минимальным. Какие конкретно программы должны входить в набор, мне известно, но перечислять я их здесь не буду. Читающим предлагается подумать над этим самим [4].
Очевидно, что llvm не входит в базовый набор, и, если какой-то программе он нужен, то она должна собирать его сама. Понятно, что даже без llvm сборка программ станет заметно дольше, но я готов подождать любое разумное время. Проблема в том, что llvm за разумное время не собирается. На моём компьютере его сборка длится 2 часа - это слишком много.
Должны ли другие программисты придерживаться того же мнения? - Нет, не должны. Насколько текущее положение дел соответствует тому, что я написал? - Оно вообще не соответствует. Факт в том, что программы на Cи и Cи++ я могу пропатчить так, чтобы они соответствовали тезису выше, а вот программы на rust'е - нет. llvm и слишком большое количество зависимостей не оставляют лично мне ничего иного, кроме как игнорировать rust и все программы, которые на нём написаны.
[1] "crates.io (Official Rust package registry)". Смотрите "https://doc.rust-lang.org/rust-by-example/cargo.html".
[2] https://doc.rust-lang.org/cargo/reference/publishing.html
[3] В "https://wiki.alopex.li/LetsBeRealAboutDependencies" утверждается, что данная проблема есть и в Си программах почти в том же объёме. Не буду подробно расписывать то, в чём я не согласен с автором. Скажу лишь, что я собираю программы руками, и наибольшее дерево зависимостей, которое я встречал, имело размер ~50. Графические программы требуют X server, который сам имеет ~40-50 зависимостей, но я не считаю его зависимостью графических программ. Точнее, это зависимость немного другого рода.
[4] При этом не следует доходить до крайностей. Можно считать, что gcc и binutils входят. Если этого не делать, то бишь предполагать, что в системе нет компилятора Си, то задача, на мой взгляд, переходит с практической плоскости на теоретическую. Детали можно найти например на "https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building-from-source-all-the-way-down/".
ответить
From Andrey V. Stolyarov Sun Aug 18 18:18:50 2024 UTC
Спасибо
Там всё даже хуже, чем я думал. Увидишь издали растера — перейди на другую сторону улицы.
ответить
From Artem (unverified) Mon Aug 19 04:42:08 2024 UTC
Re: Re: RUST как замена C
То есть, проблемы у него с инфраструктурой, экосистемой и самими кодерами? А что насчёт самого языка, в отрыве от перечисленного, годится он на что-то? Если, допустим, кто-то решит откреститься от предлагаемых "удобств", и при этом готов использовать llvm либо дождаться компилятора от GNU.
ответить
From Andrey V. Stolyarov Mon Aug 19 07:49:25 2024 UTC
Re: RUST как замена C
Сам по себе язык тоже никуда не годится. Ну то есть даже одно то, что там (несмотря на то, что язык императивный) все операторы вплоть до циклов превратили в выражения — лично мне одного этого достаточно для утверждения, что ни о каком использовании такого языка не может быть никакой речи: в этом языке сишность головного мозга может (и будет) проявляться сильнее, чем в самом Си. При этом сей недостаток, разумеется, не то что не главный, а даже вообще скорее теряется на фоне всего остального.
Ну а главное, пожалуй, в том, что нет и не может быть такой вещи как "безопасный (в смысле safe) язык". Safety может быть только у программиста в голове, больше нигде. Попытки построить язык, который якобы прощает программисту все проявления его безалаберности (вот это вот "можно не бояться, компилятор всё поймает"), ведут лишь к выводу этой безалаберности на невиданные доселе высоты.
Как совершенно правильно заметил когда-то давно один из моих студентов, этот язык сделан для лиц с обсессивно-компульсивным расстройством. Но тут ведь всё на самом деле просто: если боишься (!) работать с указателями — или тренируйся и набирай опыт, чтобы больше не бояться, или не программируй вообще.
А превращение любителей столь специфического языка в откровенную секту — это просто следствие, и следствие неизбежное. В этом монастыре невозможно и никогда не будет возможно жить по другому уставу, так не бывает, и компилятор от GNU ничем не поможет.
Не думаю, кстати, что появится альтернативная реализация, а если она и появится, вряд ли её станут использовать. В одной секте не может быть двух центров.
ответить
From Ян (unverified) Wed Aug 21 18:51:02 2024 UTC
Re: Re: RUST как замена C
Значит моё первое впечатление подтвердилось. В топку его. Улыбаемся и пишем на Си.
ответить
☞ From Макака (unverified) Fri Aug 16 19:06:57 2024 UTC
JS в качестве (!) скриптового языка
Вновь приветствую горячо любимого автора данного интернет-ресурса и его неслучайных посетителей.
После ознакомления с разделом учебника о скриптовых языках хотелось бы поинтересоваться у автора, как он относится к языку JavaScript в отрыве от попыток последнего в языки общего назначения, в контексте использования оного сугубо как языка для вспомогательного, так сказать, скриптинга и облегчения жизни
мартышкиглубого заинтересованного в качестве своего труда разработчика.Лично я никогда не использовал Tcl, из скриптовых языков для опробования чего-либо или небольшого исследования использовал bash либо, если задача казалась чуть сложнее, JS (конечно же без ООП набалдажников и без последующего знакомства этих творений с конечными пользователями). К питону чувствуется отвращение, Perl кажется перемудренным, Lua - неуместным.
Возможно, у вас есть своё мнение насчёт скриптовых языков, которое вы сформировали в ходе профессиональной деятельности, и свой любимый скриптовый язык либо представления о нем, которым(и) вы бы хотели поделиться с миром.
Надеюсь, вы не станете выгонять меня с сайта ссаными тряпками за тему этого разговора. Просто интересен опыт человека, на тридцать голов выше моего.
Желаю успехов на чужбине.
ответить
From Andrey V. Stolyarov Fri Aug 16 20:55:10 2024 UTC
Re: JS в качестве (!) скриптового языка
коммент 2016 года на эту тему
Впрочем, с тех пор много чего произошло и много воды утекло, и сейчас я могу сказать и проще: слушайте, ну какого хера в скриптовом языке делают все эти потуги в сторону ООП? Оно, конечно, до реального ООП не дотягивает, но потуги-то есть. Между тем, скрипты должны быть маааааааленькими, если программа вымахала больше чем на 200 строк — это уже не скрипт, а программист, продолжающий её писать на скриптовом языке, делает что-то не то. Ну а вся прелесть ООП, и даже не то чтобы прелесть, а просто осмысленность, начинает проявляться где-то после 2000 строк. Т.е. "невязка" у нас тут примерно на порядок.
В общем хрень этот ваш js.
ответить
From Trollkarl (unverified) Mon Aug 26 21:20:52 2024 UTC
Re: Re: JS в качестве (!) скриптового языка
В общем хрень этот ваш js
Коммьюнити для него ещё и либы весёлые клепает.
ответить
From Andrey V. Stolyarov Mon Aug 26 21:22:38 2024 UTC
Re: JS в качестве (!) скриптового языка
Ну, это, подозреваю, всё-таки стёб.
Но вообще для скриптового языка вообще не должно быть никаких библиотек, и тем более библиотечной экосистемы. Если для написания программы потребовалась библиотека, эта программа никакой не скрипт.
ответить
☞ From бормотрон коробкин (unverified) Fri Aug 16 18:42:56 2024 UTC
нейросети
Считаю, что то, что нельзя остановить, необходимо возглавить. есть огромный класс задач, которые только нейросетями и решаются. это например задачи связанные с человеческим мышлением и психологией. и рано или поздно нейросети будут применены для этого. и не только для этого, для кучи задач, что лежат за пределами возможностей отдельного человека. если мы хотим, чтобы эти технологии работали на благо каждого человека, а не лишь отдельных представителей и подгрупп, то должны перехватить инициативу, предвидеть технические проблемы масштабирования этих технологий и возглавить их решение под нашим контролем, сознательно смещая выбор решений в пользу соответствующих нашим целям.
ответить
From Andrey V. Stolyarov Fri Aug 16 20:59:26 2024 UTC
Re: нейросети
Чувак, ты не на комсомольском собрании.
Внезапный ренессанс нейросетей обусловлен исключительно тем, что в распоряжении отдельных акторов появилось, как бы это сказать, вот в английском есть такое слово enormous — так вот в распоряжении отдельных акторов появилось enormous количество вычислительной мощности. Обучение нейросетей не представляет собой ничего интеллектоёмкого, это просто грубая сила.
И этой силы нет и никогда не будет в распоряжении индивидов. Все свободны.
ответить
From бормотрон коробкин (unverified) Fri Aug 16 22:01:21 2024 UTC
Re: Re: нейросети
есть просто куча распределенных мощностей которые сейчас тратятся на майнинг и гейминг. причем в майнинге проводимые вычисления заведомо бессмысленны. почему бы не построить распределенное обучение нейросети, выдавай за вклад в вычислительную работу монетки? которые потом можно или использовать для обучения на распределенной сети какого-то своего проекта, или продать. так и назвать - ваучер-коин.
ответить
From Andrey V. Stolyarov Sat Aug 17 00:11:25 2024 UTC
Re: нейросети
Настоятельно рекомендую вам разобраться, что в действительности представляет собой майнинг и какова его роль в функционировании криптовалют. На всякий случай: никакого отношения к добыче койнов майнинг не имеет, это просто забитый ржавыми гвоздями в протоколы дополнительный эффект, чтобы сделать эмиссию распределённой. Но собственно задача, решаемая майнингом, не имеет никакого отношения к появлению новых койнов.
Несомненно, трата электричества на майнинг совершенно бессмысленна, но следует из этого ровно одно: криптовалюты полная туфта. Применить майнинг для чего-то полезного невозможно, и если понимать, зачем майнинг нужен на самом деле, это окажется совершенно очевидно.
Это если говорить о технике. Но есть и организационная сторона вопроса: заставить миллион индивидов подарить вам их вычислительные мощности, наверное, как-то возможно, но созданная для этого организационная структура сама станет корпорацией. Даже не то чтобы "станет", она просто таковой с самого начала будет, и будет увеличиваться в размерах одновременно с ростом числа вовлечённых.
ответить
From Michael (unverified) Sat Aug 17 18:17:53 2024 UTC
Re: Re: нейросети
> Обучение нейросетей не представляет собой ничего интеллектоёмкого, это просто грубая сила.
Позволю себе сказать, что далеко не всегда только грубая сила. Придумываются разные изощренные архитектуры нейросетей и алгоритмы для их вычислений: функции потерь, метрики и др. В этой области сейчас занято немало математиков.
ответить
From Andrey V. Stolyarov Sat Aug 17 18:54:10 2024 UTC
Re: нейросети
Ага, и занимаются тем, что пишут на питоне.
ответить
☞ From Anonymous (unverified) Fri Aug 16 14:41:42 2024 UTC
Комменты с кодом
У вас есть какая-то позиция по поводу комментов, содержащих код? Может в каких-то ситуациях вы их принципиально не раскрываете и писать их бесполезно? А то что-то мой комментарий с кодом на C, который сортирует что-то там пузырьком так и не раскрыт, хотя вроде времени уже много прошло.
ответить
From Andrey V. Stolyarov Fri Aug 16 15:16:04 2024 UTC
Re: Комменты с кодом
Индивидуальными консультациями (в том числе разбором написанного кода) я занимаюсь только в рамках менторинга, о чём явно сказано и в тексте о премодерации (который в любом случае стоило, по-видимому, прочитать до попытки отправить комментарий), и на странице формы контактов.
А какой-либо ценности для публики, посещающей мой сайт, я в вашем коде не усмотрел.
ответить
☞ From Artem (unverified) Thu Aug 15 13:54:05 2024 UTC
Снова о математике
Возник такой вопрос: а как понять, понимаю ли я сам эту вашу математику? То есть, не просто могу ворочать синусами-тангенсами да считать производные, как счётная машина, а вот прям понимаю, или же не понимаю? Иногда в комментариях вы приводили примеры задач, которые непонимающий человек не сможет решить, но все эти задачи в моём случае бесполезны, ведь я уже встречал либо такие же, либо очень похожие, и там они приводились сразу с решением.
ответить
From Andrey V. Stolyarov Thu Aug 15 15:48:06 2024 UTC
Re: Снова о математике
Ну, э... вообще говоря, тут сложно что-то формальное придумать; в частности, я не могу себе представить письменную работу, которая бы проверяла понимание (в отличие от технического умения пользоваться), и продолжаю считать, что отмена устных вступительных экзаменов по математике и физике, которую минобровская мафия в середине нулевых продавила якобы из-за их "необъективности", ознаменовала начало конца математики в россии.
С другой стороны, в личной беседе я без особых проблем и обычно довольно быстро могу определить, понимает человек школьную математику или нет. С высшей будет потруднее, там у меня довольно быстро кончается область уверенной компетентности, но со школьной (включая начала анализа, те самые "производные") проблем никаких, наличие-отсутствие понимания я выявляю совершенно запросто, и в принципе вполне законным тут будет вопрос, как я это делаю.
Если на этот вопрос попытаться как-то ответить, то, пожалуй, ключевое слово тут будет "почему": в применении к любой задаче нужно вместо вопроса "как её решать" уделить внимание вопросу, почему её надо решать именно так.
Но вот дальше начинаются неформальные дебри. Если человек не понимает, как выводятся и вообще откуда берутся все те формулы, которые он лихо применяет в задачах, то с ним всё понятно: перед нами обычный "техник", который не только ничего не понимает, но и не пытается ничего понять. Но вот противоположный случай — например, когда человек без малейших проблем готов показать, как какая формула выводится, только спроси — увы, не так прост. Дело даже не в том, что доказательства можно зазубрить без понимания, тут как раз довольно просто где-нибудь по ходу задать парочку вопросов и всё выяснить. Проблема в том, что можно понимать каждый шаг доказательства и помнить его общую схему, но при этом всё равно не иметь общего понимания, как это работает.
Больше того, я и сам далеко не всякое доказательство могу "пропустить через себя", даже если у меня нет никаких проблем с его воспроизведением. Вот, для примера, у меня в трёхтомнике в первом томе есть параграф про комбинаторику (1.3.1), а в нём ближе к концу приведено тождество, на котором основан треугольник Паскаля: C_(n+1)^k = C_n^(k-1) + C_n^k, и там же два объяснения: через формулы и словесное, основанное на мешках с шариками. Так вот, до того, как приняться за написание книжки, я никогда нигде не видел ни первого, ни второго, и — признаюсь — не понимал, как этот пресловутый треугольник Паскаля ухитряется работать, то есть он мне казался "фокусом". Когда параграф 1.3.1 был уже почти весь написан, мне внезапно стало интересно (скажу по секрету, я вообще изначально не планировал рассказывать треугольник Паскаля, но что-то меня дёрнуло поскрипеть мозгами в его направлении). Так вот, формульное доказательство я воспроизвёл (естественно, сначала на бумажке) без подглядывания куда бы то ни было, просто зная, из чего и куда мне нужно прийти — ну, типа, попробовал, а оно возьми да и получись. Понимания мне это не прибавило. Вообще ни кусочка. Просто к фокусу с циферками добавился ещё фокус с формулами, и не помогло даже то обстоятельство, что я его сам, можно сказать, "изобрёл" (не в том, конечно, смысле, что раньше никто этого не делал, а исключительно в том, что я этого фокуса не видел и пришлось придумать самому).
А вот когда я попытался привлечь к делу свою же иллюстрацию с шарами в мешке, у меня почти сразу сложилось то рассуждение про эн-плюс-первый шарик, которое теперь в книжке красуется ниже. И вот оно меня, скажем так, убедило. То есть у меня самого возникло чёткое ощущение, что теперь-то я знаю, с какого такого бодуна треугольник Паскаля работает. Конечно, после этого не включить это всё в книжку я уже не мог :-) хотя бы и мелким шрифтом.
У меня бывали и другие случаи, вот есть, например, такое правило Лопиталя — оно мне казалось фокусом до тех пор, пока не допёрло (уже, замечу, не просто после диплома, а через несколько лет после получения учёной степени), что отношение производных можно записать по определению производной через df/dx и dg/dx, но dx-то тут один и тот же, а поскольку раскрывается "ноль на ноль", df и dg равны самим f и g. Вот и получается, что f'/g' = f/g. Хоть бы кто нашёлся, кто бы мне это на первом курсе сказал, а? нет, никого не нашлось. С "элементарными преобразованиями матриц", которые сохраняют значение определителя, та же фигня: фокус оставался фокусом, пока откуда-то не было взято, наконец, тайное знание, что этот несчастный определитель представляет собой N-объём N-мерного параллелепипеда, натянутого на векторы-строки. И тоже мне ни одна зараза на первом курсе этого не сказала. А, скажем, ТФКП в меня прекрасно зашло после того, как кто-то мне объяснил, что не нужно пытаться представить себе четырёхмерный график комплексной функции, вместо этого вот есть конформные отображения — вот они и есть эти аналитические функции, этот примус работает так. К счастью, это произошло сильно раньше диплома (так что когда я готовился к госэкзамену, ТФКП реально грокнул, причём хорошо помню, что никаких трудностей не было с пониманием), но, к сожалению, таки позже экзамена по ТФКП, на котором мне вкатили тройку из жалости.
В общем, рецепта, как отличить умение от понимания, я предоставить не могу, но, возможно, приведённые примеры помогут вам сформировать собственное ощущение, в чём такое отличие состоит.
ответить
From Ilia (unverified) Fri Aug 16 11:17:20 2024 UTC
С программированием - аналогично
По-моему, именно такие же пути надо проходить по другим областям, но не всем.
Когда в меня пытались в школе вдолбить С, я вообще не понимал, зачем нужны указатели, почему всё так устроено, итд. Но когда прошелся сначала по Паскалю, ассемблеру, язык Си вошел в меня меньше, чем за месяц. С всякими странностями, но вошел.
А вот какая-нибудь биология не факт, что получится. Для её изучения нужны эксперименты, которые ещё и запрещают зачем-то, когда испытуемые даже не против этого. В частности, генетика. Заниматься по учебникам можно, а на людях тестировать - нельзя. Видимо верхушка уверена, что человечество шестым чувством выясняли, а не методом проб и ошибок, что бледные поганки - смертельный яд.
ответить
From Artem (unverified) Fri Aug 16 15:28:41 2024 UTC
Re: С программированием - аналогично
С генетикой всё не так просто, там и без запретов есть проблемы от использования людей как подопытных. Например, люди чертовски долго вынашиваются и растут, да и геном у них сложноват. Абстрактный генетик не просто так полюбил абстрактную дрозофилу.
ответить
From Andrey V. Stolyarov Fri Aug 16 15:32:32 2024 UTC
Э-ммм
Как говорят в таких случаях, мнение владельца сайта может не совпадать с высказанным в комменте, даже если коммент был раскрыт.
ответить
From ывфвы (unverified) Fri Aug 16 09:16:24 2024 UTC
Re: Снова о математике
Математика - и есть ворочание синусами и тангенсами, и счёт производных. Как раз суть в том, что можно смотреть на математические объекты под любым углом, и придумывать ему разные интерпритации, а не сходится к какой-то одной. Математика и логика как раз созданы чтобы не быть интуитивными. Ведь интуитивные вещи могут быть и ложны.
ответить
From Andrey V. Stolyarov Fri Aug 16 09:58:02 2024 UTC
Re: Снова о математике
Примерно такой позиции придерживалась "творческая группа", действовавшая под псевдонимом Никола Бурбаки. За вермя своей активной деятельности они благополучно прикончили (уничтожили, домножили на ноль, истребили, закопали, недостающее вписать) высшую математику во Франции. Но у бурбакистов было хотя бы не то чтобы оправдание, но, скажем, некое объяснение их деятельности: сами-то они математику понимали, но их собственный уровень постижения был достаточен для непосредственной трансляции поступающих извне формальных описаний во внутреннее понимание. Просто они, как водится у персонажей, давно и прочно въехавших в некий предмет, переоценили аудиторию, тем более что эпоха Бурбаки — это примерно как раз то время, когда государства ввиду своих интересов попытались высшее образование из штучного явления превратить в массовое.
Сейчас, имея определённый опыт на эту тему, продолжать настаивать на формальном подходе к постижению математики — это, скажем так, вредительство.
ответить
From Artem (unverified) Fri Aug 16 13:12:07 2024 UTC
Re: Re: Снова о математике
> интуитивные вещи могут быть и ложны
Логичные тоже. Всякое логическое рассуждение предполагает наличие аксиом, принимаемых просто потому что. Эти аксиомы могут оказаться ложными, но приводить к верным выводам сколь угодно долго, ведь законы логики отвергают лишь возможность получить ложное суждение из истинного, но допускают получение истинного суждения из ложной предпосылки.
А ещё мне кажется, что будь всё так, как вы сказали, нейросети не были бы столь высокоспециализированы, не деградировали бы при дообучении на собственных результатах работы, и не нуждались бы в терабайтах данных для обучения. В общем, были бы, как люди, пусть даже и весьма посредственные.
ответить
From Andrey V. Stolyarov Fri Aug 16 15:17:43 2024 UTC
Re: Снова о математике
Аксиомы не бывают ложными, они могут разве что противоречить друг дружке.
ответить
From Anonymous (unverified) Sat Aug 17 10:52:17 2024 UTC
Re: Re: Снова о математике
Аксиомы могут быть ложными в контексте их неверного применения. Например в арифметике действительных чисел аксиомы истинны (потому что так так решили, да). Но если речь идёт о счёте объектов реального мира, то в каких-то ситуациях они могут ломаться. Например 1 литр спирта + 1 литр воды — это меньше 2 литров смеси. А вот 1 яблоко + 1 яблоко — это всё-таки ровно 2 яблока.
ответить
From Andrey V. Stolyarov Sat Aug 17 13:42:11 2024 UTC
Re: Снова о математике
По ходу, вы вообще не понимаете, ни что такое математика, ни что такое аксиомы. Ни, кстати, что такое "счёт объектов", поскольку после смешивания литра воды с литром спирта у нас нет больше ни литра воды, ни литра спирта, они оба были потрачены (израсходованы, пущены в дело, как хотите назовите), в общем их больше нет. Что получилось в итоге и _сколько_ этого получилось — принципиально не имеет никакого отношения к арифметике.
ответить
From бормотрон коробкин (unverified) Fri Aug 16 22:47:35 2024 UTC
Re: Re: Снова о математике
Математика и логика как раз созданы чтобы не быть интуитивными. Ведь интуитивные вещи могут быть и ложны
перефразирую вас.
интуитивные вещи могут быть ложны, следовательно, логика не должна быть интуитивной?
чай с молоком бывает сладким. значит несладкий чай должен быть без молока?
ответить
☞ From Anonymous (unverified) Wed Aug 14 08:24:25 2024 UTC
проблемы даркнета
Здравствуйте Андрей Викторович, в своем обращении, вы упоминали о желании сделать даркнет, в котором генерация публичного ключа будет использовать доказательство работы и ограничение числа поинтов, тем самым, не позволяя существовать крупным публичным нодам, но разве это не слишком просто обойти?
Допустим у нас есть корпорация, захотевшая сделать большую социальную "сеть", что ей мешает на своей ноде поднять http вебсайт (поверх нашего даркнета) с публичной регистрацией, у которого на бакэнде уже не будет ограничений в 1024 пользователей? Не особо понятна роль поинтов в сети. Лично я сторонник мнения, что централизация сети - проблема социальная, и не все социальные проблемы можно решить техническим путем.
ответить
From Andrey V. Stolyarov Wed Aug 14 09:26:51 2024 UTC
Re: проблемы даркнета
> что ей мешает на своей ноде поднять http вебсайт
Во-первых, и в-главных: при чём тут вообще http? Через такой сайт можно будет разве что сделать доступной какую-то информацию, циркулирующую внутри наложенной сети и публично доступную, но такой там как раз быть не должно. Для распространения информации в парадигме "один вещает, все желающие получают" уже и так средств до фига. Да и для схемы "скачать что надо у кого поближе" есть bittorrent и всякое вроде него. А здесь (ну, согласно моему замыслу, во всяком случае) будет коммуникация firend-to-friend, в том числе один-один (частная переписка), один-много (список рассылки анонсов), много-много (дискуссионный список рассылки), но "много" всегда будет означать некий конечный список участников.
В частности, чтобы получить какую-нибудь книгу, музыкальный трек или фильм, нужно будет спросить своих друзей, у кого в коллекции файлов есть то, что требуется. Возможно, кто-то из них окажет нам любезность и также спросит своих друзей; возможно, не спросит. Но если и спросит, то мы не узнаем, откуда _он_ взял нужный нам файл, для нас он будет скачанным из коллекции нашего непосредственного френда.
А для участия в любой коммуникации нужен будет идентификатор, это и есть, собственно, поинт. И поинтов на каждую ноду будет, видимо, всё-таки 253 (один байт, за вычетом трёх зарезервированных значений 0x00, 0xfe и 0xff), так что каждую сгенерированную ноду возможно будет использовать её владельцу и ещё 252 людям, это будет технически возможный максимум.
Что до централизации — это проблема не социальная, а экономическая. Её можно было бы частично решить запретом рекламы и полностью снять отменой юридических лиц, но это всё существенно менее реально, нежели сделать наложенную сеть, ориентированную на НЕпубличные и при этом полностью скрытые от внешнего мира и никому не подконтрольные коммуникации.
ответить
From Anonymous (unverified) Wed Aug 14 09:42:11 2024 UTC
Re: Re: проблемы даркнета
Благодарю за развернутый ответ! Концепция мне стала более ясна, но одна вещь все же непонятна, чем это лучше приватного группового чатика в каком нибудь джаббере? Там тоже только свои и все друг друга знают.
ответить
From Andrey V. Stolyarov Wed Aug 14 10:35:41 2024 UTC
Re: проблемы даркнета
Для джаббера нужен сервер на фиксированном и известном всему миру ip-адресе, и этот сервер становится точкой уязвимости (см. сюда, например).
Вообще у меня складывается такое ощущение, что вы в принципе не понимаете, о чём идёт речь.
Впрочем, есть ещё один момент: протокол XMPP, судя по всему, подыхает под собственной тяжестью. Во всяком случае, в мире нет ни одного поддерживаемого XMPP-сервера, который я бы счёл приемлемым для установки на свои машины, и такое положение существует уже больше десяти лет (точно не помню, когда там jabberd2 перестали поддерживать). А мораль-то проста: каждый, кому в голову приходит применить XML или что-то на него похожее, причём независимо от задачи, должен немедленно и по доброй воле прыгнуть в биореактор.
ответить
From Anonymous (unverified) Wed Aug 14 11:27:05 2024 UTC
Re: Re: проблемы даркнета
Вот тут полностью согласен, уже сам успел обплеватся и обматерится пока пытался Prosody поставить. В сторону ерланговского Ejabberd даже смотреть не стал, там полагаю, еще хуже. Но ладно бы серверы, клиенты нормальные вымирают! Статистически 2 клиента из 3 категорически отказываются работать без TLS сертификата, причем заверенного CA, самописные не принимают. А самое страшное, что единственная альтернатива в категории Instant Messaging сейчас только Matrix, которая угадайте на чем? на json! А еще TLS там mandatory. И почти все юзеры сидят на центральном matrix.org сервере через веб интерфейс. Нет, есть конечно еще Tox, но он peer-to-peer и годится разве что только для звонков. Вот и остается одна лишь электронной почта.
Извините, меня прорвало, не смог сдержатся.
ответить
From Andrey V. Stolyarov Wed Aug 14 12:09:59 2024 UTC
Re: проблемы даркнета
> Вот и остается одна лишь электронной почта.
Как в том анекдоте про Илью Муромца: вот её, родимую, и будем кушать^W юзать.
ответить
From hm (unverified) Wed Aug 14 15:32:10 2024 UTC
Сроки и прогресс
Интересно узнать, прикидывали ли вы сроки реализации такого проекта? Из комментариев про идеальный язык программирования я узнал, что задуманное вами получится сделать за лет десять. Сколько тогда уйдет на сеть? Вы на стадии проектирования или уже все готово и осталось дело за релизацией?
ответить
From Andrey V. Stolyarov Wed Aug 14 17:21:30 2024 UTC
Re: Сроки и прогресс
"Проектирование" — это маркетоидский миф.
Я, к сожалению, не вполне уверенно чувствую себя с криптографией. Пока рабочий вариант — взять NaCL, попрактиковаться с ней, чтобы обрести некое ощущение уверенности, и начать писать.
Но предсказывать сроки — дело неблагодарное в любом случае. Мало ли что там по ходу пьесы вылезет.
ответить
From Proger Wed Aug 14 18:55:48 2024 UTC
Шифрование
А чем шифр Вернама не угодил?
По открытому каналу связи передали открытый ключ RSA, через RSA передали ключ для шифра Вернама, про RSA забыли.
Для того, чтобы передать большой ключ Вернама через маленькое сообщение, его нужно сжать, вернее, создать в сжатом виде. Например, сгенерировать несколько кб случайных чисел (первая часть). А потом еще несколько кб случайных чисел (вторая часть), которые следует интерпретировать как беззнаковые целые вида "номер байта начала куска ключа из первой части" + "номер байта конца куска из первой части" (если первое больше второго, итерироваться в обратном направлении). Едва ли интерпретация такого ключа (распаковка на лету) будет отличаться от абсолютно случайных чисел.
Заранее за несколько кб до окончания ключа, прерываемся и передаем новый ключ внутри старого канала.
Итого: XOR и длинная арифметика (для RSA). Небольшая программа на Си без библиотек.
P.S. Я не специалист в области криптографии, но это первое, что приходит в голову и кажется должно работать достаточно надежно.
ответить
From Andrey V. Stolyarov Wed Aug 14 19:06:25 2024 UTC
Re: Шифрование
Я тоже не так чтобы большой специалист в области криптографии, но это, насколько я могу судить, не годится. NB: за объяснениями следует обратиться к тем, кто в криптографии разбирается лучше меня.
ответить
From Proger Wed Aug 14 19:22:29 2024 UTC
Re: Re: Шифрование
> NB: за объяснениями следует обратиться к тем, кто в криптографии разбирается лучше меня.
Андрей Викторович, спросите у знающих коллег?
ответить
From Andrey V. Stolyarov Wed Aug 14 19:26:55 2024 UTC
Re: Шифрование
Где я их возьму?!
ответить
From Anonymous (unverified) Wed Aug 14 19:18:00 2024 UTC
Re: Шифрование
Шифр Вернама абсолютно надёжен только если ключ никогда не повторяется. А здесь через какое-то время такой ключ должен повториться — после этого достаточно заксорить две повторяющиеся части и получить ксор двух кусков открытого текста. По известным фрагментам текста (например открывающие теги, заголовки, сигнатуры) можно расковырять второй кусок открытого текста.
ответить
From Proger Wed Aug 14 19:39:25 2024 UTC
Re: Re: Шифрование
Но ведь никто не узнает, какие куски повторяются и в какой последовательности (и в каком направлении).
Например, если ключ (первая часть) имеет вид (для ясности алфавит -- в реальности, конечно, случайные числа)
То обладая табличкой созданной из случайных чисел (вторая часть):
Получаем полный ключ:
И как это можно предсказать?
ответить
From Andrey V. Stolyarov Wed Aug 14 19:41:00 2024 UTC
Re: Шифрование
Так, вот что, вы сюда зачем пришли, чужое время терять? Найдите себе другое место для этой цели. В криптографии вы не понимаете ничего от слова совсем, это даже мне, хоть я и не специалист, видно невооружённым глазом; но устраивать ликбез по основам криптографической безопасности вам тут никто не будет, для этого существуют книги и прочие источники, и вообще более подходящие места.
ответить
From Anonymous (unverified) Wed Aug 14 19:48:45 2024 UTC
Re: Шифрование
Кажется, здесь есть несколько вопросов:
- Для абсолютной криптографической стойкости ключ Шифра Вернама должен должен иметь длину такую же, как и само сообщение, и состоять из случайных данных. А генерация случайных данных (именно случайных, а не псевдослучайных) - это медленный процесс, попробуйте хотя бы создать файл сколь-нибудь ощутимой длины из /dev/random.
- Сжатие не будет иметь никакого эффекта. Не существует алгоритма сжатия без потерь такого, который может сжимать абсолютно любые данные, для любого алгоритма сжатия обязательно найдется входная последовательность, которая переводится в последовательность такой же или даже большей длины. Математически доказывается просто: если бы существовал алгоритм сжатия без потерь, который сжимает любые данные, то это означало бы, что существует взаимно однозначное отображение между множеством всех последовательностей длины N и множеством всех последовательностей длины M < N, что невозможно. Учитывая то, что ключ шифра Вернама будет состоять из истинно случайных данных, скорее всего он просто не сожмется.
ответить
From Andrey V. Stolyarov Wed Aug 14 19:50:28 2024 UTC
Re: Re: Шифрование
Давайте завязывать с этой темой, чуваку просто потрындеть охота. Если бы он реально хотел разобраться, он бы нашёл для этого более подходящий форум.
ответить
From Anonymous (unverified) Thu Aug 15 09:40:17 2024 UTC
Re: Re: Сроки и прогресс
https://monocypher.org/ можете глянуть
он более минималистичен и проще будет для "вкатывания" чем NaCL
ответить
From Andrey V. Stolyarov Thu Aug 15 10:40:53 2024 UTC
Re: Сроки и прогресс
Спасибо, выглядит на первый взгляд привлекательно, хоть и декларируется C99 (но это, возможно, получится отстричь; с ходу там от C99 виден только uint8_t, но я пока не пробовал компилировать с -ansi).
ответить
From - (unverified) Thu Aug 15 09:52:11 2024 UTC
Re: Re: проблемы даркнета
А что вы думаете про delta.chat? Конкретные клиенты могут быть реализованы и на неприемлимых для вас технологиях, но зато в качестве сервера обычный почтовик подойдет, а клиент и написать можно
ответить
From Andrey V. Stolyarov Thu Aug 15 10:03:57 2024 UTC
Re: проблемы даркнета
Я тоже когда-то давно так подумал. И даже попробовал эту штуку раскурить.
Клиента мне в первые 15 минут не удалось запустить. Следовательно, он мне не нужен, его автор — настоящая боевая безмозглая жопорукая мразь. Но это ладно. Хуже другое: эта штука ориентирована не на "обычные почтовики", как вы изволите выражаться, а на вполне конкретный крупняк со всеми его функциями. Т.е. чтобы мне заставить свой собственный почтовый сервер обслуживать delta.chat, нужны весьма ненулевые усилия; на тот момент, когда я в эту сторону смотрел, у меня вообще не оказалось способа раскурить свой почтовый сервер, совместимый с единственной (на тот момент; я не знаю, как с этим сейчас) реализацией delta.chat, поскольку "голый" postfix такого не умеет, а, скажем, собрать dovecot под Openwall/*/Linux не вполне реально, и к тому же этого может не хватить. Я уже точно не помню, чего они там хотят, но в общем я видел инструкции, как это настроить для конкретных жирных "бесплатных" почтовиков, но не видел даже намёка на инструкцию, как поднять свой почтовик.
Не надо тратить время на подобные поделья поганых бабуинов, нужно хоть чуть-чуть себя уважать. Когда единственная реализация написана хер знает на чём (уже не помню, честно говоря, что там за "прогрессивные новые технологии", помню только, что запустить не удалось), странно ждать от такого какой-то полезности.
UPD: сходил глянул. За прошедшие годы там, конечно, многое поменялось, о десктопном клиенте больше речи не идёт, оно стало браузерным, инсталлировать предлагается через всякие snap'ы и прочее в таком духе, а информацию, на чём оно написано и как его запустить, грубо говоря, контролируемо, с ходу не видно (возможно, где-то там она и есть). В морг.
ответить
From Владислав (unverified) Fri Aug 16 15:18:43 2024 UTC
Почтовый оффтопик
Андрей Викторович, а какой POP3-сервер Вы используете? Это случайно не popa3d? Выше Вы упомянули dovecot. О нём говорят чуть ли не в каждой статье и мне не известно, есть ли ему какая-нибудь более минималистичная альтернатива. Ну разве что popa3d.
ответить
From Andrey V. Stolyarov Fri Aug 16 15:23:35 2024 UTC
Re: Почтовый оффтопик
Я не использую ни pop3, ни imap. Нетбук, на котором у меня живёт почта, является полноценным smtp-спикером, т.е. почту забирает с сервера по smtp через проброшенный ssh'ем порт, и тем же способом отправляет. Хитрость тут только в том, чтобы почту для доменного имени, выделенного нетбуку, на сервере держать без попыток доставки, пока такая доставка не будет затребована явным образом; но postfix так умеет.
ответить
From Proger Wed Aug 14 19:28:57 2024 UTC
Re: Re: проблемы даркнета
Как-то очень похоже на "современный" Фидо, где мэйлер "звонит по IP" у большинства узлов. Или я не правильно представляю функционал? Нужно что-то большее, чем нетмэйл + эхи + фэхи + пересылка attach?
ответить
From Andrey V. Stolyarov Wed Aug 14 19:33:19 2024 UTC
Re: проблемы даркнета
С фидонетом я тут общего вижу только двухуровневую организацию пользователей. Не вижу никакого резона давать более подробные объяснения.
ответить
☞ From Parthen (unverified) Tue Aug 13 23:51:32 2024 UTC
Пишем CMS
Года три назад я тут как раз думал о том, что сайты не на чем писать.
Теперь я изучаю Си, и думаю, смогу написать простенькую CGI вот прям на ANSI C. Потому что хочу, потому что могу.
Я мало понимаю в веб-серверах, сайты я писал всегда ручками и кидал в /var/www/html, на этом настройка кончалась.
Как к этому правильно подступится? PHP и SQL мне снятся в кошмарах, как не вляпаться в что-то подобное?
ответить
From Andrey V. Stolyarov Wed Aug 14 00:17:54 2024 UTC
Re: Пишем CMS
> и думаю, смогу написать простенькую CGI вот прям на ANSI C
Не вижу препятствий.
> Как к этому правильно подступится?
Ну, как правильно настраивать Apache, чтоб он CGI выполнял — это вот тут.
А сам CGI — ну, это довольно просто: основной источник информации у нас переменные окружения, для POST-запросов ещё стандартный ввод, а на вывод мы должны вывалить заголовок с некоторыми полями для HTTP response header и собственно содержимое отдаваемой страницы (или изображения, или что мы там хотим отдать).
> PHP и SQL мне снятся в кошмарах, как не вляпаться в что-то подобное?
Меня вот всегда интересовало, как это так "случайные связи", то есть это вот что, идёшь по улице, никого не трогаешь, и вдруг внезапно, стало быть... э...
я это к тому, что если вы сами себя в ЭТО не вляпаете, то никто другой вас и подавно туда не вляпает. Решили писать на чистом Си — вот на нём и пишите, ничего невозможного тут нет.
ответить
☞ From kv (unverified) Tue Aug 13 20:25:43 2024 UTC
винда
А как вы запускаете винду из-под линукса, чтобы эта винда не гадила и не лезла куда не следует ?
ответить
From Andrey V. Stolyarov Tue Aug 13 20:32:16 2024 UTC
Re: винда
Я не запускаю винду ни из-под линукса, ни откуда-либо ещё, и другим не советую.
ответить
From kv (unverified) Tue Aug 13 21:15:13 2024 UTC
Re: Re: винда
В интервью на канале АйТиБорода на 1:28:50 говорится следующее: "На самом деле винда у меня есть". О чём была речь вообще?
ответить
From Andrey V. Stolyarov Tue Aug 13 22:23:58 2024 UTC
Re: Re: Re: винда
У меня на тот момент был отдельный ноутбук с WinXP, чтобы на нём запускать бухгалтерские программы — отчётность сдавать в налоговую и (опять же, на тот момент) пенсионный фонд. Включался этот ноут раз в два месяца, больше на нём ничего не делалось, всё остальное время он был завален бумажками и прочими предметами до состояния невидимости.
"Это было в россии, значит было давно"
ответить
☞ From Anonymous (unverified) Tue Aug 13 20:01:48 2024 UTC
Такие вот вопросы)
Андрей, здравствуйте! Я студент второго курса специальности "Инженерия програмного обеспечения".
Возможно, удасться получить от Вас несколько ответов на очень интересующие меня вопросы (назревших в свете почерпнутой из ваших книг информации, а также обсуждений на данном сайте)
На нашем факультете, с первого по четвёртый курс изучается ООП (C# под Windoze на mvs).
Сам преподаватель ООП, по его словам, параллельно работает програмистом-питонщиком.
После этого по учебному плану - всё тот же .net, Java, и web-разработка (2-4 курс). И тут у меня возникает несколько вопросов:
1) Я не могу взять в толк, чем руководствуются люди, пишущие на Java и C#?
Если с жабаскриптерами всё понятно, то вот здесь мне невдомёк.
Может у этих языков есть какие-то бенефиты, которых у С, и в частности С++ просто нет? (кроме GC)
Или это дело рук навязанных идей про "устарелость", "всё новое и блестящее - впихиваем в себя", и некомпетентности в профессии?
А может быть, некоторым они просто больше по душе, и зря я их так?
Может, это языки, которые имеет смысл изучать уже после полного прохождения пути Паскаль -> Ассемблер -> C -> C++?
Даже долой майкрософтовский C#, но вот Java, например?
Приходилось ли Вам в профессиональной практике программировать на данных языках?
2) Какова роль диплома для будущего трудоустройства?
Слышал много реплик знакомых из IT о том, что без диплома - на завод, и обратное, мол, да зачем он вообще нужен.
Бросать ВУЗ я не собираюсь, и, вопреки ВУЗовской программе, всё таки собираюсь учиться.
Но вот ведь разница: взять ту же медицину - без необходимого глубоко очного обучения в университете и последующей/параллельной практики, рассчитывать не на что.
И, соответственно, роль диплома здесь существенна, это показатель твоей общей квалификации, пройденного сложного пути.
Но вот схожая ли ситуация с программистами?
Какую вообще информацию о человеке может дать диплом , при таком то обучении?
Спасибо!
ответить
From Andrey V. Stolyarov Tue Aug 13 21:31:51 2024 UTC
Re: Такие вот вопросы)
На нашем факультете, с первого по четвёртый курс изучается ООП (C# под Windoze на mvs). Сам преподаватель ООП, по его словам, параллельно работает програмистом-питонщиком.
Киллера бы ему нанять. Мало того что сам дебил, так ещё и студентов одебиливает. Впрочем, в учебных заведениях такого рода в большинстве случаев студенту хуже уже не сделать. Поинтересуйтесь на досуге (в частных разговорах; возможно, под пиво; и аккуратно, чтобы не спугнуть), кто из ваших однокурсников способен отсортировать массив пузырьком. В смысле вот прямо сесть и написать программу, которая это делает — естественно, без использования всяких встроенных и библиотечных средств сортировки. Ну, например, читает числа с клавиатуры, пока там конец файла не стрясётся, а потом выдаёт их отсортированными по возрастанию, и всё это без библиотечной сортировки.
Результат вас, возможно, несколько удивит.
Может у этих языков есть какие-то бенефиты
Как и у всех обезьяньих поделий, у этих языков ровно один "бенефит": на них можно писать, будучи обезьяной. Но есть и вторая сторона этого момента: нормальные люди на таких языках не пишут, а если пишут, то сами превращаются в обезьян.
(кроме GC)
Если бы вы не игнорировали FAQ, то уже знали бы, что GC — это не "бенефит", это недостаток, и притом (для императивных языков) фатальный.
Может, это языки, которые имеет смысл изучать
Есть ровно одна ситуация, когда об ЯП этой категории стоит марать руки и мозги: это когда вам прямо сейчас за работу именно на этих языках готовы платить, ну, скажем, в полтора (а лучше в два) раза больше, чем за нормальное программирование. Ну то есть это не то чтобы "есть вакансии", а вот прямо есть конкретное предложение от конкретного работодателя: освоишь джаву — будет вот такая зарплата, и вот официальный оффер.
Умея программировать, вы начнёте уверенно писать на той же джаве после недели, ну максимум двух недель интенсивного раскуривания всяких источников. Если двух недель не хватило — значит, вы ещё не умели программировать.
Только надолго там не задерживайтесь, параллельно нужно искать нормальное место работы за нормальные деньги, и как только таковое появится — валить туда. Иначе мозгам кабзда. Ну, не сразу, но два-три года на той же джаве — и выйти обратно в хорошую интеллектуальную форму будет уже крайне тяжело.
Какую вообще информацию о человеке может дать диплом , при таком то обучении?
В целом все "технические" специальности более-менее одинаковы: всё, что они могут дать полезного — это математика, по принципу "с паршивой овцы хоть шерсти клок". Сам термин "высшее техническое образование" содержит неразрешимое противоречие: образование может быть или техническим, или высшим, но никак не одновременно. А вот какая у вас там математика — это второй вопрос. Скажем, если у вас там есть такой предмет "высшая математика" (ну, вот прямо так называется), то вы в этом ВУЗе попусту теряете лучшие годы жизни. Впрочем, даже если учебный план построен более-менее осмысленно и содержит такие предметы, как "математический анализ", "линейная алгебра", "общая алгебра", "теория вероятностей", "дифференциальные уравнения" и т.п., это само по себе ничего не гарантирует, нужны ещё преподаватели, которые предмет (а) хорошо знают и (б) умеют преподавать.
Что касается медиков, то там, насколько я могу судить, как раз получается всё правильно: хороший врач обязан быть "немножко учёным", делать выводы из интересных случаев, документировать их, наиболее серьёзные результаты публиковать. В каком-нибудь Склифе врачи через одного со степенями. Поэтому врач — не знахарь, а реальный врач — это не ремесло, это именно что ближе к науке. Не так чтобы прямо вообще все врачи были учёными, но лучшие из них — ну, просто факт, учёными являются. И там образование из рук действующих учёных (попросту говоря, лучших из врачей), во-первых, не роскошь, а необходимость, и, во-вторых, оно оказывается реализуемо.
В применении к инженерам — неважно, программистам или ещё каким инженерам — ничего подобного существовать не может. Есть наука, есть техника, это разные вещи.
P.S. Вот тут ещё было про врачей.
ответить
From Anonymous (unverified) Tue Aug 13 21:51:17 2024 UTC
Re: Re: Такие вот вопросы)
Спасибо большое, для меня было важно услышать Ваше мнение :-)
ответить
From anonymous (не автор) (unverified) Tue Aug 13 21:53:54 2024 UTC
Re: Re: Такие вот вопросы)
>результат вас удивит
То есть как? Типа, некоторое довольно значительное количество студентов это сделать не способны?
Мы ж про этот пузырек говорим? https://en.m.wikipedia.org/wiki/Bubble_sort
Или есть какой-то ещё? Если про этот, то как они до какого-то там курса дожили? Тут же буквально нечего понимать, мысленные усилия по пониманию пузырька ничтожны. Легче... эээ, геометрии за первый семестр 7 класса. Как они вообще пишут хоть какие-то программы, если они пузырьком сортировать не могут?
ответить
From Andrey V. Stolyarov Tue Aug 13 22:11:41 2024 UTC
Re: Такие вот вопросы)
Прекращайте верить в человечество, что я вам ещё могу сказать.
Если что: они не пишут программ. Как максимум — переписывают их из методички. Что до количества, судите сами. Когда я зарабатывал доцента в ВУЗе "третьего эшелона", за пять лет я, соответственно, повидал пять курсов, в основном имел дело с третьекурсниками. Поголовье каждого курса составляло от 25 до 33 (если склероз не изменяет) особей. Специальность (якобы) программистская. Так вот, за все пять лет количество попавшихся мне студентов, в принципе способных отсортировать массив, составило (барабанная дробь) ТРИ человека.
UPD: соврал, забыл про одного. Четыре.
ответить
From anonymous (не автор) (unverified) Tue Aug 13 22:36:26 2024 UTC
Re: Re: Такие вот вопросы)
Простите, Вам мои вопросы, наверное, странными и дебильными покажутся. Но я не в силах заставить себя их не задать - разве что я буду забанен.
>только 4 из ~150 студентов могли отсортировать массив
Это же мы все ещё про пузырёк говорим? Не про какие-нибудь заумные сортировки из глубин книжек Д.Кнута? Всего четверо могли сортировать пузырьком? Простите ещё раз за идиотизм формулировки вопроса, но: Вы буквально имеете в виду то, что говорите? Без скрытых подвохов и дополнительных обстоятельств?
>они не пишут программ
Что же тогда собой вообще представляла их учебная деятельность с практической стороны? Они ж не могут просто картинки в книжках смотреть, если они будущие программисты? Практикум на ЭВМ - не?
И как Вы для себя решали проблему оценки их знаний на зачётных мероприятиях, если не секрет? За что Вы им ставили оценки, в результате которых они с третьего курса на четвёртый перешли?
ответить
From Andrey V. Stolyarov Tue Aug 13 23:03:58 2024 UTC
Re: Такие вот вопросы)
> Это же мы все ещё про пузырёк говорим?
Да хрен с ним с пузырьком, вся эта толпа, кроме упомянутых четверых, не могла отсортировать массив вообще никаким способом. Подавляющее большинство из них просто не понимали, о чём вообще идёт речь.
Слушайте, для вас это что, сюрприз? Вы когда-нибудь пробовали объяснить, как работают два вложенных цикла человеку, который этого не понимает? А вы вообще осознаёте, что 99% людей вокруг принципиально неспособны понять, что такое вложенные циклы, то есть просто не имеют такого потенциала, соберись хоть батальон лучших преподавателей программирования всех времён и народов?
Если не верится, не беспокойтесь, я когда-то тоже даже представить себе не мог, насколько в мире всё плохо. Пока не начал заниматься частными уроками.
Что до этого ВУЗа, как вы думаете, какой там был контингент, если никакого минимального проходного балла там установлено не было (ибо недобор) и, как следствие, на первый курс зачисляли всех, кто принёс положительно сданный ЕГЭ? "Положительно" — это означает "не на двойку". Т.е., собственно говоря, для поступления туда достаточно было предъявить школьный аттестат.
Что же тогда собой вообще представляла их учебная деятельность с практической стороны?
Собственно говоря, вся деятельность всех ВУЗов третьего эшелона представляет собой одно и то же: преподаватели делают вид, что учат, студенты делают вид, что учатся. Я это понял не сразу — и был очень удивлён, когда на первой "лабораторке" с предложенным заданием (вроде бы очень простым) не справился ни один из студентов. Не просто не справился, большинство из них даже не начали ничего писать, поскольку не понимали, чего от них хотят. Это был, ещё раз подчёркиваю, третий курс.
Именно тогда я научился придумывать такие задачи, проще которых, скажем так, сделать невозможно. Ну, вот возьмите задачник, гляньте задачу 2.19. Вот это вот и ещё подобного сорта задачки я тогда придумывал десятками, чтобы каждый раз дать новые, ну то есть похожие, но хоть чем-то отличающиеся. И так — пять, десять, сколько угодно заходов, пока хоть одна программа (да, блджад, от силы на двадцать строчек) не будет написана и запущена. Примерно половина не могла и этого.
Ну а дальше каждая сессия превращалась в битву с начальством за то, чтобы хоть кого-нибудь из этих дебилов отчислить. Ну то есть там отчислять, разумеется, надо было поголовно всех (четверо за пять лет хоть что-то понимающих — это в пределах статпогрешности), но устроить такое было, я бы сказал, технически невозможно: даже если бы на уровне кафедры какое-то подобное решение удалось протолкнуть, то в итоге разогнали бы кафедру и набрали других преподавателей, а студентов бы оставили — за них же финансирование поступает, вычо.
ответить
From Parthen (unverified) Tue Aug 13 23:19:18 2024 UTC
Эээ, чего?!
>Что до этого ВУЗа, как вы думаете, какой там был контингент, если никакого минимального проходного балла там установлено не было (ибо недобор)
Я правильно понимаю что речь про МГУ? Тот самый, в который рвутся пол-страны? И недобор?
Я, честно говоря, когда выбирал ВУЗ для поступления на МГУ/МФТИ даже не смотрел, ибо не верил, что пройду
ответить
From Andrey V. Stolyarov Wed Aug 14 00:19:01 2024 UTC
Re: Эээ, чего?!
Нет, неправильно понимаете. Читайте внимательнее тред.
Речь, если интересно, про МГТУГА.
ответить
From Anonymous (unverified) Wed Aug 14 13:10:27 2024 UTC
Re: Re: Эээ, чего?!
А каким образом сортировка пузырьком и вообще программирование относится к авиации? Они что, предположительно будут писать программы для автопилотов каких-нибудь? Что-то я уже по-немногу начинаю понимать авиафобию...
ответить
From Andrey V. Stolyarov Wed Aug 14 13:26:38 2024 UTC
Re: Эээ, чего?!
Ну, во-первых, автопилоты и всякое прочее, что летает — это в МАИ, а в МГТУГА (якобы) в основном про управление воздушным движением и прочее наземное обслуживание.
Во-вторых, поскольку специальность программистская, ваш вопрос звучит довольно-таки бредово: вы что, можете себе представить программиста (безотносительно предметной области), который пишет программы за деньги, но при этом неспособен отсортировать массив пузырьком? Чушь собачья, не? Но вообще, если что, пузырёк в данном случае лишь иллюстрация, а фактура тут буквально в том, что там практически у всего контингента (ну, по крайней мере той специальности, с которой я имел дело, т.е. программистской) совершенно непоправимый алгоритмический кретинизм.
Ну и в-третьих: нет, я не могу себе представить, чтобы эта публика работала по "полученной" (в жирных кавычках) "специальности" (ещё жирнее). Иначе я бы за российскую гражданскую авиацию ещё тогда (а это 2008–2013) яйца бы ломаного и гроша выеденного не дал.
Да и вообще, такие специальности в ВУЗе "дать" невозможно. Ремесло передаётся только в мастерской, от мастера к ученику. Абсолютно любое ремесло. Ни в каком ВУЗе не пишут прошивки для автопилотов, и, как следствие, научить этому не могут; этому можно научиться только там, где это реально физически делается. Вот, скажем, в университетах всегда занимались наукой, поэтому там могли научить науке, т.е. (хоть и с 95%-отбраковкой) всё-таки худо-бедно делать новых учёных. Всё, что выходит из университетов и учёным не становится — это побочный продукт, хотя и полезный.
Ну а всякие советские институты, дружно в девяностые переименовашиеся в "университеты", вообще бессмысленны. Были бессмысленны, бессмысленны сейчас и будут бессмысленны, пока их не позакрывают наконец.
ответить
From anonymous (не автор) (unverified) Tue Aug 13 23:30:33 2024 UTC
Re: Re: Такие вот вопросы)
>если не верится
Не верится. То есть, мне не придет в голову предположить, что Вы фантазируете или преувеличиваете - с Вашим-то опытом. Но мой ум в настоящее время просто неспособен полноценно вообразить то, что Вы говорите.
Я вот этот Ваш ответ прочел, и мне захотелось выйти на балкон, выпучить глаза ещё сильнее, чем они выпучились при прочтении Вашего ответа, закурить и долго смотреть в никуда - при том, что я вообще не курю.
Спасибо за Ваши ответы, простите ещё раз за все эти заданные вопросы.
ответить
From Andrey V. Stolyarov Wed Aug 14 00:34:05 2024 UTC
Re: Такие вот вопросы)
Вот вам ещё для дополнительного чтения из недавнего.
ответить
From Anonymous (unverified) Wed Aug 14 13:12:39 2024 UTC
Re: Re: Re: Такие вот вопросы)
Вот меня это не удивляет. Я сам учится в ВУЗе сомнительной категории и программы сами писали где-то как раз примерно три студента из группы, может чуть больше.
ответить
From Andrey V. Stolyarov Wed Aug 14 13:45:24 2024 UTC
Re: Такие вот вопросы)
Три из группы — это до фига. Скажем, в МГУ по моим наблюдениям, если к стенке не припереть, самостоятельно программы писали только те, кто не хотел терять самоуважения; ну это примерно процентов 20, т.е. если, скажем, в группе 15 человек, то вот как раз ваши "три" и получатся. Иной вопрос, что если попадался препод-фошшЫст вроде меня, которому распознать "автор — не автор" как два байта переслать и который никакого иного варианта, нежели полностью самостоятельное написание, не принимает в принципе, то есть вообще, то есть никак, то вся группа, крякнув, начинает программировать самостоятельно — за исключением тех, кто патологически этого делать не способен, но таких (в МГУ) было уже не очень много, в некоторых группах вообще не было, но чаще было как раз два-три аутсайдера на каждую группу (примерно столько вылетало каждый год на зимней сессии из-за несданного мне практикума).
Но если речь не про МГУ, то три из группы, пишущие самостоятельно при наличии "других вариантов" — это прям хорошо и много. Скорее всего, вы своих однокурсников несколько переоцениваете.
ответить
From Anonymous (unverified) Wed Aug 14 13:21:50 2024 UTC
Re: Re: Re: Такие вот вопросы) FizzBuzz
А вы разве не застали эпидемию FizzBuzz? На каком-то сайте опубликовали статью про то, что 90% кандидатов пытающихся устроиться на работу программистом не могут написать программу, которая выводит числа от 1 до 100, но пишет Fizz вместо числа если оно делится на 3, Buzz если делится на 5 и FizzBuzz если делится на 15. Может путаю что-то ибо пишу по памяти, но можете сами поискать эту статью.
И после этого все бросились писать эти FizzBuzz-ы на всяких языках через всякие подковырки и тд. А суть была вовсе не в том, что это какой-то челлендж, а просто чтобы быстро отсеять кандидатов на место программиста, кто вообще не может программировать. Сортировка пузырьком даже сложнее этого FizzBuzz, а речь идёт о студентах, а не о тех кто уже закончил ВУЗ и пошел устраиваться на работу, так что вас удивляет?
ответить
From Andrey V. Stolyarov Wed Aug 14 13:50:21 2024 UTC
Re: Такие вот вопросы) FizzBuzz
Всех (точнее, всех тех, кто умеет программировать) обычно удивляет одно и то же: как можно этого не понимать. Между прочим, многие преподаватели тоже не особо заморачиваются тем, что там реально творится у студента в мозгу. Я реальную картину представляю по двум причинам: во-первых, я занимался частными уроками, там некому создавать тот маскирующий фидбек, под которым благополучно прячутся все, кто ни хрена не понял; во-вторых, когда мне студент сдаёт программу, понять, что программа вообще-то не его, мне всегда было проще пареной репы, но это далеко не у всех преподавателей так.
ответить
☞ From Parthen (unverified) Mon Aug 12 19:39:07 2024 UTC
Реклама книги v2.0
http://infoviolence.org/ytid.cgi/ml1aGQn32z4
Забавно, что в комментариях книгу защищают больше, чем ругают. В кои-то веки аудитория Ютуба адекватнее аудитории LOR'а
ответить
From Andrey V. Stolyarov Mon Aug 12 19:57:13 2024 UTC
Re: Реклама книги v2.0
Прямую ссылку на тюбик я, сорри, таки заменил :-)
Чего там не вижу, так это чтоб в комментах было больше адеквата, чем неадеквата. И даже чтобы был выше процент адеквата, нежели на лоре. Впрочем, и фиг бы с ним, хотите хвалите, хотите ругайте, только URL не перепутайте.
ответить
From Parthen (unverified) Mon Aug 12 20:15:47 2024 UTC
Re: Re: Реклама книги v2.0
>Прямую ссылку на тюбик я, сорри, таки заменил :-)
Да без проблем. Я бы и сам так сделал, только почему-то думал, что Shorts не работают через Invidious.
ответить
From Andrey V. Stolyarov Mon Aug 12 20:38:00 2024 UTC
Re: Реклама книги v2.0
А я даже не заметил в итоге, что это short. Вбил в ytid исходный URL, посмотрел, ни тебе тормозов, ни этого дебильного лэйаута, который на тюбике для просмотра short'ов.
Гм, а что, у short'ов бывают комментарии? Век живи, век учись.
ответить
From Anonymous (unverified) Tue Aug 13 01:24:47 2024 UTC
Re: Re: Реклама книги v2.0
У меня видео вообще не проигрывается, спасибо Роскомпозору. Но я думаю и не важно. Комменты зато почитал.
Ребёнок такой "Я хочу стать бухгалтером когда вырасту! Надо хорошо учиться, освоить счёт, таблицу умножения...", а ему "Да не, ты что, нафиг оно тебе нужно?! Это только если ты ядерным физиком будешь! Лучше вот возьми налоговый кодекс почитай, а в цифрах, буквах, знаки действий и тд по ходу действий разберёшься"
ответить
From Anonymous (unverified) Tue Aug 13 13:51:12 2024 UTC
Re: Re: Re: Реклама книги v2.0
> видео вообще не проигрывается
Кстати, есть несколько способов обхода этой блокировки, в интернете много гайдов написано. Но я не уверен, что есть смысл конкретно здесь детально об этом рассказывать.
ответить
From Andrey V. Stolyarov Tue Aug 13 13:54:44 2024 UTC
Re: Реклама книги v2.0
Смысла точно нет — я такой коммент не раскрою. Если человеку лень самостоятельно поискать, то мы ему вряд ли чем-то поможем.
ответить
From anonymous (unverified) Tue Aug 13 05:04:34 2024 UTC
Re: Re: Реклама книги v2.0
У всего этого жанра вертикальных видео комменты есть по умолчанию, если не отключены автором.
>Век живи, век учись
По-моему, счастлив тот, кто в этом не разбирается.
ответить
From anonymous (unverified) Mon Aug 12 23:07:35 2024 UTC
Re: Реклама книги v2.0
Хы, мне этот ролик попался намного раньше, когда там комментов было меньше, но лучше там от этого не стало.
Совершенно безотносительно моего отношения к книжкам и их автору - тут принципиально неважно, какое оно - могу утверждать, что такую кунсткамеру я редко где вижу. Между теми, кто срётся на лоре и теми, кто был в в комментах к этому видео, есть, как мне кажется, принципиальная разница: на ЛОРе в большинстве своём участники специальной олимпиады хотя бы издали выглядят теми, кто разбирается в том, о чём говорит. То есть, как будто бы у ЛОРовцев обычно можно понять причину того или иного высказанного мнения.
В комментах по ссылке совсем иначе. Даже не знаю, что меня больше повеселило в этих комментах: через полминуты возникшее ощущение, что я, листая, увижу там коммент наподобие "да он нам и на**й не нужОн, ентернет ваш", или то, что подобный коммент, как ни странно, будет адекватнее тех, что я уже прочитал. Удивительны даже не попытки высказываться на темы, в которых у высказывающегося глубоко очевидны нулевые представления о теме, а святейшая, сияющая, твердокаменная, круче вареного яйца уверенность, что высранное мнение является совершенной истиной и абсолютно авторитетным фактом.
Круто, что это в гостевуху этого сайта притащили. Уважаемый посетитель гостевухи, если ты желаешь легкую пилюлю уверенности в правиле 95% или в необратимой смерти цивилизации, если тебя развлекают такие вещи - я с удовольствием рекомендую перейти по ссылке в стартовом комменте.
ответить
From montana (unverified) Tue Aug 13 13:01:59 2024 UTC
Re: Реклама книги v2.0
мой видос :)
ответить
From Andrey V. Stolyarov Tue Aug 13 13:56:08 2024 UTC
Re: Реклама книги v2.0
Даже не знаю, что тут сказать. Пожалуй, промолчу.
ответить
☞ From анон (unverified) Mon Aug 12 04:52:59 2024 UTC
Теория без плотной связи с практикой
Здравствуйте, Андрей Викторович.
Я в настоящее время балуюсь реверсом win32 приложения и его модификацией, текущих знаний мне для этого хватает, работы тут еще уйма, а иногда хочется разбавить это каким-то теоретическим контентом(не книгой про RE).
Чем конкретно я хочу заниматься за деньги, я еще не решил, вот и задумал подтянуть базу для полноты картины и более гладкого вката в будущую специализацию, в связи с этим вопрос: Как Вы считаете, как правильнее дальше учиться программисту после вашего трехтомника? Какие книги можете посоветовать? в какой последовательности?
Я пока придумал такой порядок:
1) Современные ОС. Таненбаум
2) Компьютерные сети ... Олифер и Олифер
3) C++ for real programmers. Джефф Элджер
Или всё это ерунда и без немедленной практики толку будет как от чтения состава освежителя воздуха?
ответить
From Andrey V. Stolyarov Mon Aug 12 10:03:13 2024 UTC
Re: Теория без плотной связи с практикой
Или всё это ерунда и без немедленной практики толку будет как от чтения состава освежителя воздуха?
This.
Кстати, это и моего трёхтомника касается тоже.
ответить
From Иван С. (unverified) Mon Aug 19 08:29:10 2024 UTC
Re: Теория без плотной связи с практикой
Если уж собираетесь изучать сети как программист, то лучше всего взять учебник Букатова и Гуда "Компьютерные сети. Расширенный начальный курс". В нём есть специальная глава, посвящённая программированию сетевых приложений, с практическими заданиями, например, "Реализуйте сервис передачи файлов между подключенными клиентами, находящимися за NAT…". Будет чем размять голову. К сожалению, ссылку на файлообменник предоставить не смогу, так как у меня бумажная версия. Да даже если бы была цифровая, я не знаю, куда её загружать, чтобы А.В. не пришлось за мной подтирать.
ответить
From Andrey V. Stolyarov Mon Aug 19 09:08:11 2024 UTC
Re: Теория без плотной связи с практикой
Если человек реверсингом балуется, а сам ничего не пишет — то для начала ему стоит научиться программировать вообще, а уже потом смотреть на специальные области.
ответить
From Anon (unverified) Sat Sep 7 22:39:44 2024 UTC
Re: Re: Теория без плотной связи с практикой
Программирую бота для того приложения, что реверс инжинерю (бот это мой тред внутри приложения), ну и консольные тулзы под свои нужды в форточках, Ваш трехтомник был пройден в свое время до конца плюсов по всем правилам, а раньше макакингом занимался за деньги.
Здесь вопрос задавал больше за рекомендациями по литературе, проектик по сетям уже придумал себе
ответить
☞ From Alexander (unverified) Wed Aug 7 13:49:04 2024 UTC
Снова про математику
Благодаря Вам понял ценность изучения математики, поэтому очень хочу повторить школьную математику и в последующем уже изучать разделы вышмата. Может быть тут кто-то может посоветовать учебники по школьной математике. В разных источниках рекомендуют учебники Киселева и Туманова. Стоят ли они внимания?
ответить
From Andrey V. Stolyarov Wed Aug 7 14:23:30 2024 UTC
Re: Снова про математику
Вот тут недавно обсуждалось, например.
ответить
From Timofey (unverified) Wed Aug 7 16:25:23 2024 UTC
Re: Снова про математику
Пересмотрев большое количество материалов на тему изучения математики, пришел к выводам, что нужно брать фундаментальные учебники по элементарной алгебре/геометрии, где материал изложен последовательно со всеми нужными теоремами и доказательствами.
По алгебре рекомендую как раз таки по учебник Туманова, так как там идет полное изложение элементарной алгебры. Начинается курс с введения абстракции отрицательных чисел, причем не просто говорится что есть отрицательные числа, а показываются причины, по которым эта абстракция возникла как таковая. Заканчивается же курс понятием производной и введением в интегралы. Причем в курсе рассматриваются темы, которые обычно совсем не входят в стандартный курс школьной алгебры: теорема Гаусса, бином Ньютона, формула Эйлера и много чего еще.
Если же говорить о геометрии, то рекомендую те учебники, по которым изучал сам:
- Планиметрия. В.Ф. Бутузов;
- Стереометрия. А.Ю. Калинин, Д.А. Терешин;
Опять же, это полноценные учебники по геометрии, где все рассказывается крайне подробно. Много тем, которые в "классических" школьных учебниках по геометрии (например, Атанасяна) не рассматриваются в принципе, хотя они являются наиболее интересными и красивыми из всего курса школьной геометрии.
ответить
From Alexander (unverified) Wed Aug 7 17:22:05 2024 UTC
Re: Re: Снова про математику
Спасибо за рекомендацию. А "Элементарная геометрия" Киселева Вам не попадалась?
ответить
From Timofey (unverified) Thu Aug 8 07:04:07 2024 UTC
Re: Re: Re: Снова про математику
Я знаком с этой книжкой, но только по ее содержанию, так что говорить о том насколько она качественная не могу.
Вам лучше пойти на математические форумы, где сидят люди, больше разбирающиеся в этом и знают какие книжки лучше по качеству, а какие хуже.
ответить
From Anonymous (unverified) Wed Aug 7 18:26:09 2024 UTC
Re: Re: Снова про математику
Ох, мне кажется, тут есть одна проблема. Учебники по математике зачастую написаны формальным сухим языком. Это нисколько не плохо, наоборот это приучает к точному стилю мышления, нетерпимости к несущественным с точки зрения обывателя ошибкам в терминологии и прочим подобным вещам.
Но... чтобы этот сухой язык переварить и наконец-то разобрать, что там написано, нужно очень много терпения. Я в школе математику любил, она казалась мне несложной, но когда я поступил в университет, то меня начали ложками кормить математическим анализом, и в учебниках по нему был упомянутый мной сухой язык. Сейчас, конечно, эти учебники кажутся гораздо более простыми, но тогда хотелось прямо на стенку залезть. И единственным (!) мотиватором к изучению для меня была боязнь завалить сессию и вылететь. Подозреваю, что при самостоятельном изучении мотивация бы у меня отпала напрочь.
В общем, при изучении математики надо, к сожалению, как-то через силу пережить тот период, когда все очень тяжело идет, и как этот период пережить без внешнего давления, я не знаю.
ответить
From Andrey V. Stolyarov Thu Aug 8 09:07:19 2024 UTC
Re: Re: Re: Снова про математику
> написаны формальным сухим языком
Ну, книжки разные бывают. Есть, например, серия "Лекции по математике" от автора В.Босс (это псевдоним, настоящая фамиля Опойцев). С этими книжками, впрочем, проблема противоположная: там рассказывается, как предмет грокнуть, но без учебника ничего не получится, поскольку самого предмета в книжках, как ни странно, нет.
> как этот период пережить без внешнего давления
Между прочим, это очень серьёзная проблема. Если бы не это, я бы вообще сказал, что высшее образование не нужно. Но увы: если бы не сессии, я бы и сам математику не знал, да её вообще мало кто бы знал, потому что осознание, нафиг она нужна, приходит обычно слишком поздно, когда мозги уже ни на что не годятся.
ответить
From Ilia (unverified) Sun Aug 11 12:06:45 2024 UTC
Внешнее давление
На мой взгляд, внешнее давление - единственный способ изучать математику, если ты, конечно, реально не какой-то одаренный человек, которого штырит от математики.
Я как-то слышал от некоторых биологов, что у тех, кто получает дофамин от доказательств или выводов теорем, 1-2% от всего земного шара. Как и в любой области. А остальные 98-99% дофамин не получают и им вообще не понятно, как можно получать удовольствие от этого. И поэтому тут поможет только одно из двух: либо кнут, либо пряник - то есть внешнее давление.
ответить
From Andrey V. Stolyarov Sun Aug 11 12:44:48 2024 UTC
Re: Внешнее давление
> 1-2%
Замечу, примерно столько же тех, кто по итогам обучения в школе понимает, чему его учили на уроках математики.
В действительности речь, по-видимому, следует вести о том, как сделать, чтобы хотя бы эти 1-2% в итоге знали математику. Остальным никакое давление не поможет. И вообще ничего не поможет.
ответить
From Artem (unverified) Mon Aug 12 09:25:59 2024 UTC
Re: Внешнее давление
> которого штырит от математики
Хах. Меня вот "штырит", когда я, к примеру, доказываю теорему, особенно если удалось сделать это полностью в уме. Но при этом ни малейшего желания заниматься математикой не испытываю, и если бы не университетский курс (слишком короткий, увы), я бы до сих пор не знал, что значит слово "ряд".
ответить
From Andrey V. Stolyarov Mon Aug 12 10:07:15 2024 UTC
Re: Внешнее давление
И это проблема, товарищи. Изначальная суть высшего образования предполагала, что лекции читают действующие учёные, способные увлечь аудиторию и показать красоту предмета. Есть только одна маленькая проблема: их не хватает на всех. Высшее образование как массовое явление — нонсенс, хороших профессоров никогда не будет много.
ответить
From Igoris Butvilas (unverified) Fri Aug 9 15:25:18 2024 UTC
Re: Снова про математику
Мне по математике для гуманитариев посоветовали такие книги (советовали практикующие репетиторы по математике с хорошей репутацией):
Арифметика -- "Арифметика" Сергея Никольского, Михаила Потапова, Николая Решетникова и Александра Шевкина;
Элементарная алгебра -- "Элементарная алгебра. Пособие для самообразования" Савелия Туманова; "Алгебра для самообразования" Дмитрия Фадеева и Ильи Соминского;
Геометрия -- "Геометрия: учебник для 7—11 классов общеобразовательных учреждений" Алексей Погорелов.
ответить
From Andrey V. Stolyarov Fri Aug 9 15:38:51 2024 UTC
Re: Re: Снова про математику
Ох не надо геометрию по Погорелову, ох ни к чему это
ответить
From Alexander (unverified) Sun Aug 11 02:42:07 2024 UTC
Re: Re: Re: Снова про математику
А что в этом учебнике не так, на Ваш взгляд?
ответить
From Andrey V. Stolyarov Sun Aug 11 08:11:50 2024 UTC
Re: Снова про математику
Это ровно тот учебник, по которому учили школьников, когда таковым был я. О школе в целом у меня сложилось впечатление как о потерянной впустую прорве ценнейшего времени, и уроки геометрии тут не исключение.
ответить
☞ From Michael (unverified) Mon Aug 5 09:47:02 2024 UTC
Data Science
Как вот быть с тем, что в некоторых отраслях Python безальтернативен? К примеру, в датасайнс, нейросетях и тп., похоже вообще у современных математиков. Он там как в старину латинский в науке - без него просто нечего делать, нейросетки, кучи библиотек, целая экосистема - все питон. Важнейшие современные библиотеки для построения нейросеток -питон (PyTorch например). Теоретически конечно можно самому вручную все программировать на чем угодно, есть некоторые модели на других языках (до примерно середины нулевых еще активно матлаб использовался), но на практике все это вторично. Столкнулся с тем, что нейросети и обработка данных - это просто царство питона хуже Web-а.
ответить
From Andrey V. Stolyarov Mon Aug 5 10:49:31 2024 UTC
Re: Data Science
Ну так не работайте в этих областях, кто заставляет-то? А если очень хочется — сначала поищите реализацию соответствующих алгоритмов на чистом Си, в крайнем случае на C++ (кстати, к бабке не ходи, все эти "библиотеки для питона" на Си написаны, иначе бы они работали со скоростью варёной черепахи), если чего-то не найдётся — напишите сами.
Применению питона для чего бы то ни было не может быть никаких оправданий. Вообще. А термин "экосистема" самим фактом своего появления означает, что там требуется огнемёт.
ответить
From Artem (unverified) Mon Aug 5 12:51:08 2024 UTC
Re: Re: Data Science
> все эти "библиотеки для питона" на Си написаны
Вернее, на C, C++, Fortran и CUDA. Но только критичные к производительности части, которых не так много, остальное питончик.
Кстати, до PyTorch был Torch7, почти то же самое, но для Lua. Потом большие дяди из Facebook решили переписать его для питона, попутно сам Torch7 благополучно сдох (в смысле, не развивается и не поддерживается).
ответить
From Andrey V. Stolyarov Mon Aug 5 13:49:43 2024 UTC
Re: Data Science
Интересно, кстати — не отследил такой момент: этот Lua успел отрастить собственную экосистему или вовремя на обочину съехал?
ответить
From Artem (unverified) Mon Aug 5 14:52:37 2024 UTC
Re: Re: Data Science
Смотря что считать экосистемой. Библиотек для него много, если речь об этом.
И смотря что считать съезжанием на обочину, как встроенный язык он широко используется, особенно в геймдеве.
ответить
From Andrey V. Stolyarov Mon Aug 5 15:07:39 2024 UTC
Re: Data Science
На мой взгляд экосистема начинается с попытки как-то автоматизировать разруливание зависимостей между библиотеками. У питона и перла это точно есть, про остальную скриптуху достоверно не знаю.
А что Lua вполне себе живой — это я знаю, под съездом на обочину я понимаю, ну, скажем, выход из гонки за позицию во главе мейнстрима.
ответить
From Artem (unverified) Mon Aug 5 15:33:45 2024 UTC
Re: Re: Data Science
В таком случае экосистема у него есть. Хотя в этом смысле она, кажется, вообще у всего есть, включая чистый C. А вот как у него с вовлечённостью публики в эту экосистему (на экосистему C плевать практически всем, а JS без экосистемы трудно представить), понятия не имею. У тех библиотек, что у них в топе закачек, зависимостей либо нет, либо одна (редко), так что должно быть не сложно сделать вид, что никакой экосистемы нет.
ответить
From Andrey V. Stolyarov Mon Aug 5 17:36:46 2024 UTC
Re: Data Science
Для случая чистого Си я не вижу даже намёков на экосистему. Пакетные менеджеры дистрибутивов Linux ориентированы явно не на чистый Си, плюс к тому я не видел, чтобы создатели библиотек сами их опакечивали под разные дистры; ничего другого для автоматического вытаскивания из интернета всех зависимостей любой отдельно взятой программы я пока что не видел. Не наблюдается также и попыток приписать имеющимся библиотеками какие-то глобальные идентификаторы.
ответить
From Trollkarl (unverified) Mon Aug 5 18:53:20 2024 UTC
Re: Re: Data Science
Lua успел отрастить собственную экосистему
Есть LuaRocks — пакетный менеджер для Lua-шных библиотек. Но, насколько я понимаю, он не прибит гвоздями к Lua, поскольку поддерживает как Lua, так и LuaJIT. Видимо, просто гадит в переменную LUA_PATH.
ответить
From Иван С. (unverified) Mon Aug 5 12:25:33 2024 UTC
Re: Data Science
Дезертиры перед мейнстримом вообще ничем не брезгуют. Сначала Python и JavaScript, затем работа на Google или государство, участие в закручивании цифровых гаек, создании автопилотов, где ни вздохнуть, ни пёрнуть без проприетарного ПО от производителя, и так далее. И на всё один ответ: «Ну ачо такова?».
ответить
From Andrey V. Stolyarov Mon Aug 5 13:50:52 2024 UTC
Re: Data Science
И чо это было?
Не, ладно, вроде мысли как мысли, только "дезертиры" тут при чём? Ну, там, конформисты, к примеру — это я бы понял
ответить
From Иван С. (unverified) Mon Aug 5 14:21:07 2024 UTC
Re: Re: Data Science
Да, вы правы, термин не в ту степь.
ответить
From Artem (unverified) Mon Aug 5 13:21:05 2024 UTC
Re: Data Science
Он не безальтернативен, просто его любят впаривать непрограммистам как язык, с которым они получат вожделенные результаты вычислений уже через полчаса после первого в их жизни осознания необходимости долгих расчётов на компьютере. Библиотек много, и среди них хватает и тех, которым питон не нужен для работы, просто у всех из них имеется интерфейс для питона, а для чего-то другого он есть не у всех библиотек (для некоторых можно написать самому) поэтому причин пользоваться чем-то, кроме питона, люди не видят, что и закрепляет этот язык в роли лигва франка.
ответить
From Иван С. (unverified) Mon Aug 5 14:34:07 2024 UTC
Re: Re: Data Science
Да даже программистам (ну тем, кто, вроде как, намеревается ими стать). Лично мой препод в шараге говорил, что Питон позволяет новичкам не запариваться над синтаксическими конструкциями и сосредоточиться на решении задач, "изучении алгоритмов", т.е. на самом важном (по его мнению) для современного(!) разработчика.
ответить
From Andrey V. Stolyarov Mon Aug 5 14:36:44 2024 UTC
Re: Data Science
Это вот питон скорее таким преподам позволяет ничего не делать и при этом считать (и всем кругом громко заявлять), что ОНО кого-то чему-то учит. Особенно в случаях, когда оно само ничего не умеет.
ответить
From Alexey (unverified) Tue Aug 6 12:49:30 2024 UTC
Re: Re: Data Science
А если речь про студентов-непрограммистов, которым надо рассказывать про анализ данных статистическими методами, МНК и прочее? Тогда у языков типа Python, MATLAB/Octave или Julia есть две альтернативы:
1) Готовые программы вроде Excel, LibreOffice Calc, PSPP с окошечками. Оно нередко удобно, но у всех немного разное, и функционал ограничен. И они создают эффект "чёрного ящика".
2) C, C++ и/или Fortran. Строить практические занятия по анализу данных на их основе для непрограммистов я бы не рискнул.
Сразу придётся объяснять непрограммистам ряд вещей:
1) Подготовка рабочего места: тогда туда нужно ставить не только GCC и GNU Make, но и что-нибудь вроде GNU Scientific Library и gnuplot. Отказ же от внешних библиотек превратит курс в практикум по численным методам линейной алгебры и спецфункциям.
2) Компиляция, линковка и запуск программы. При условии того, что во вводном курсе программирования вполне могут работать в IDE, решать простейшие задачи, и студенты не всегда понимают, что такое текущий каталог, переменная среды, не знают командной строки и т.п.
3) То, что надо сделать в самой программе для работы с GNU Scientific Library, levmar или Ceres Solver - ощутимо выходит за рамки вводного курса по программированию для естественников.
И это - вместо нескольких команд в интерпретаторе или скрипта на 20 строк. Хотя для сильно мотивированных энтузиастов C++ большой проблемы не представляет. Но их - меньшинство.
P.S. Lua мне тоже нравится, но в SciLua нет ряда важных вещей.
ответить
From Andrey V. Stolyarov Tue Aug 6 13:52:15 2024 UTC
Re: Data Science
> если речь про студентов-непрограммистов
Если речь про студентов-непрограммистов, то не надо делать вид, что они могут программировать. Да, даже самые простейшие скриптики.
> Готовые программы [...] создают эффект "чёрного ящика"
По-вашему вся та конструкция с питоном посерёдке, которую вы тут предлагаете как альтернативу, НЕ создаёт эффект чёрного ящика? Для студентов-непрограммистов? Вы, пардон, что курите?
Я вам больше скажу, вместе с ощущением чёрного ящика у людей, не понимающих программирование, вот эти вот скриптики создают ещё ощущение непонятных заклинаний. Типа, вот надо произнести "абра-швабра-кадабра", и не просто так, а медленно и нараспев, и обязательно на третьем и шестом слоге кинуть через левое плечо щепотку порошка из сушёной жабы.
Хуже того, заклинания воспринимаются как нечто такое, что не просто непонятно, а не может быть понятно (ну, типа, ваще), и — чтоб уж до конца — и не должно быть понятно. Ну, типа, этот примус так работает.
А самое, конечно, поганое тут то, что если среди этих студентов, ктулху упаси, таки попадётся один или два с потенциалом понимания происходящего, то ваш замечательный практикум (или что там у вас) резко повысит для них вероятность пополнить ряды питономакак, которых и без них намного больше, чем мир может выдержать.
Ну и ещё один момент:
> во вводном курсе программирования вполне могут работать в IDE
Ценность любого учебного курса и иного учебного мероприятия, в котором используются IDE, отрицательна.
Засим не будете ли вы столь любезны избавить мой сайт от своего присутствия? Очевидно, что мне вас ни в чём не убедить, а свернуть вам шею, во-первых, технически затруднительно ввиду вашей анонимности, да и, во-вторых, уголовный кодекс не велит. Но деятельность подобных вам персонажей вредоносна настолько, что что-то однозначно с этим надо делать. И уж как минимум я не намерен вас терпеть на своей территории.
ответить
From Anonymous (не ТС) (unverified) Wed Aug 7 19:44:46 2024 UTC
Re: Re: Data Science
Меня самого учили на IDE, в школе TurboPascal, в универе PascalABC и MS VC 6.0 / Borland C++ Builder на выбор. Какое-то время у меня было такое ощущение, что для работы с каким-то языком программирования обязательно нужно ставить среду именно под него. Но как-то вот с переходом на GNU/Linux, где ни MSVC ни BC++ нету, перешел на просто запуск GCC из консоли и текстовый редактор, и вроде никак меня это особенно не испортило.
Это я не к тому, что прямо опровергаю ваши слова, но обучение программированию на IDE как минимум не смертельно. Хотя припоминаю, что я например не понимал, что такое компиляция, думал что это просто проверка программы на синтаксические ошибки, без её запуска.
ответить
From Andrey V. Stolyarov Thu Aug 8 07:51:01 2024 UTC
Re: Re: Re: Data Science
Конечно, не смертельно, я вон вообще начинал с бейсика с нумерованными строками, и ничего, живой. Проблема в том, что вот это вот
я например не понимал, что такое компиляция, думал что это просто проверка программы на синтаксические ошибки, без её запуска
— эффект весьма типичный, я много раз такое видел. И в целом IDE скрывает именно то, что нужно понимать в первую очередь. А насколько это всё "смертельно" или, напротив, легко преодолимо — зависит от способностей конкретного обучаемого, кому-то пофигу, всё равно прорвётся, а у кого-то картина мира так и останется кривой.
Если, скажем, некая смертельная болезнь убивает не всех — она от этого не перестаёт быть ни смертельной, ни тем более болезнью.
ответить
From Anonymous (не ТС) (unverified) Thu Aug 8 10:18:00 2024 UTC
Re: Re: Re: Re: Data Science
Ну в принципе логично — нафига студента/ученику вначале рассказывать нудным голосом что-то вроде "компиляция — это процесс перевода человекочитаемого кода на машинный язык" чтобы он ничего не понял (это и звучит как какое-то заклинание, которое надо запомнить, чтобы двойку не поставили) и на практике увидел, что это "просто проверка на синтаксические ошибки", если можно сразу показать ему отдельно все три процесса — создание текстового файла на ЯП, конвертацию файла на ЯП в исполняемый и запуск этого исполняемого файла, и чтобы он сам это всё сделал ручками? Гораздо понятнее, чем какие-то нудные лекции.
В той же школе нортон-командер был и ему учили по нудной лекции на целый сдвоенный урок и только потом допустили к компу чтобы вживую это потыкать. Я всё равно в этой лекции ничего не понял и разобрался только когда мне это всё вживую покзали. Так зачем было два урока тратить на рассказ о том, что в этом нортоне две панели и так далее? Кстати в этот раз у меня была тройка, потому что я не смог выделить файлы по маске, а для меня в тот момент "маска" была такой штукой которая надевается на лицо, ещё про неё годный фильм был снят. А вот когда мне показали я это понял суть за полминуты. То есть полминуты живого общения с программой дают больший результат чем полчаса или даже два часа устного рассказа с рисунком этой программы на доске.
Но насчёт TurboPascal, у меня есть некоторое подозрение, что там это было действительно так в некотором смысле. Насколько я знаю у Borland было два варианта, Turbo Pascal и Borland Pascal, первое для школьников и студентов, бесплатное но вроде бы (поправьте кто тыкал эту штуку не 20 лет назад как я) _не умело_ создавать exe-файлов и не включала в общем-то ненужную фигню для написания приложений под Windows 3.x. А Borland Pascal уже была полноценной со всем перечисленным и умела создавать exe-файлы.
Но если это было так, то что делал там пункт Compile? Компилировал, но исполнимый код записывал в отдельный сегмент памяти и при запуске передавал управление? Или компилировал в файл и сразу этот файл стирал? Или я помню неверно, и после этой процедуры exe-файл там оставался?
Кстати там вроде ещё пункт Build был, не только Compile и Run. Но про него я помню ещё меньше.
ответить
From Andrey V. Stolyarov Thu Aug 8 11:05:35 2024 UTC
Re: Re: Re: Re: Re: Data Science
> Насколько я знаю у Borland было два варианта, Turbo Pascal и Borland Pascal
Насколько я помню, они некоторое время различались комплектом поставки. К тому времени, когда была выпущена коробка Borland Pascal 7.0, которая у меня в шкафу до сих пор стоит, разницы уже не было. Так или иначе,
> _не умело_ создавать exe-файлов
сие есть чушь, не знаю откуда взявшаяся. Скажем, я в программирование "вкатывался", когда мейнстримом был Turbo Pascal 5.0, там, естественно, компиляция была и exe-файлы создавались. Сущности "Borland Pascal" тогда ещё не было. Потом был Turbo Pascal 5.5, отличавшийся появлением поддержки для ООП, а понятие Borland Pascal возникло, насколько я помню, только с появлением версии 6.0, и чем одно от другого отличалось, лично я так и не понял — судя по всему, отличалось физическим содержимым коробки. Такого варианта реализации Паскаля от фирмы Borland, которая бы не умела создавать exe-файлы, я никогда не видел.
> там вроде ещё пункт Build был
Он принудительно перекомпилировал все модули, что-то вроде make -B
ответить
From Anonymous (не ТС) (unverified) Thu Aug 8 11:57:30 2024 UTC
Re: Re: Re: Re: Re: Re: Data Science
Наверное я путаю с QBasic / QuickBasic который тоже был синим окошком под DOS, вот который был в комплекте MS-DOS не умел exe-файлы создавать, а который был отдельный "продукт" умел.
ответить
From Andrey V. Stolyarov Thu Aug 8 12:02:15 2024 UTC
Re: Data Science
Тут ничего сказать не могу, на IBM-совместимых машинах я на бейсике не писал.
ответить
From Eugene (unverified) Wed Aug 14 18:36:04 2024 UTC
Re: Re: Re: Re: Re: Re: Re: Data Science
Это два разных продукта были. QBasic начиная с MS DOS 5 входил в состав системы, заменив gw-basic. Собственно, появилась IDE, но остался интерпретатор.
А вот QuickBasic — это коммерческий компилятор бейсика от Майкрософт. Продавался отдельно. Создавал .exe.
Вообще, кажется, это была принципиальная позиция, компиляторов в составе ДОС не было. Видимо, чтобы продавать их отдельно. Системный линкер, кстати, при этом был. Только почему-то все (ну, по крайней мере, все известные мне) компиляторы либо таскали редактор связей с собой, либо компилятор и линкер были в одном файле (как тот же TurboPascal).
ответить
From M (unverified) Sat Aug 17 08:24:24 2024 UTC
Re: Data Science LINK.EXE
[blockquote]компиляторов в составе ДОС не было. Видимо, чтобы продавать их отдельно. Системный линкер, кстати, при этом был. Только почему-то все (ну, по крайней мере, все известные мне) компиляторы либо таскали редактор связей с собой[/blockquote] Это была политика IBM PC DOS, частично вынужденная техническими причинами. Основным дистрибутивным носителем для IBM PC (но не для других машин с 86-DOS/MS-DOS и их вариантами) были первоначально 5-дюймовые дискеты, отформатированные на 160 KB. Пара ассемблеров (один без макросов, чтобы влез в IBM PC c минимальным для IBM PC DOS объёмом RAM) с утилитами и небольшими примерами это уже около 150 КB.
Досовый ассемблер поставлялся OEM, начиная с 86-DOS. Он был нужен, чтобы OEM мог изготовить BIOS для своей машины и, возможно, загрузочную запись/BOOT ROM, по прилагаемому и описанному в документации образцу.
Кроме использования в системах программирования на ЯВУ конечными пользователями MS-DOS, LINK.EXE использовался для компоновки объектных модулей, поставляемых Microsoft, с платформозависимыми модулями, разработанными OEM. [blockquote] 1. DOS distribution diskette. This diskette contains files which should be distriibuted to all users. This allows the DOS distri- bution diskette to meet the requirements of users of high level language compilers as well as users running only applications. Many compilers marketed independently through the retail channel (including those of Microsoft) assume LINK comes with the DOS, as in the case of IBM. How you choose to distrubute BASIC (contracted for separately) is up to you.
2. Assembly Language Development System diskette. This diskette contains files of interest to assembly language programmers. High level language programmers do not need these programs unless they are writing assembly language subroutines. IBM chose to unbundle this package from the DOS distribution diskette (except for DEBUG), but you do not have to do so.
3. PRINT and FORMAT diskette. This diskette contains .ASM source files which are necessary to assemble the print spooler, which you may wish to customize for greater performance. .OBJ files are also included for the FORMAT utility.
4. Skeltal BIOS and documentation diskette. This diskette contains the skeltal BIOS source code and the SYSINIT and SYSIMES object modules which must be linked with your BIOS module. The proper sequence for linking is BIOS - SYSINIT - SYSIMES. [/blockquote] https://github.com/microsoft/MS-DOS/raw/main/v2.0/source/README.txt
Из MS-DOS начиная с 5.0, которую пользователи могли купить сами в магазине, LINK.EXE исключили.
ответить
From Andrey V. Stolyarov Sat Aug 17 13:46:04 2024 UTC
Re: Re: Data Science LINK.EXE
> отформатированные на 160 KB
Точно не на 180? Я, по правде, ничего меньше 360 не застал, но было такое ощущение, что 180 — это ровно половина (то ли там сторона была одна, то ли дорожки вдвое реже шли, не знаю).
ответить
From M (unverified) Sat Aug 17 18:03:06 2024 UTC
360
IBM PC DOS научилась записывать 180KB на односторонние 40-дорожечные дискеты после обновления.
На одну дорожку диска, делающего 300 оборотов в минуту при скорости записи 250000 бит/c поместилось бы не более 50000 бит. С учётом заголовков записей и промежутков между ними на дорожке легко помещается 5 1024-байтных записей или 9 512-байтных (10 со скрипом). На 40x2 - дорожек поместится 400KB или 360KB, на 40 дорожек односторонней дискеты 200KB или 180KB. Но мужики-то не знали! Пока айбиэмовцам это не подсказал Тим Патерсон, дорабатывая свою 86-DOS/MS-DOS до IBM PC DOS.
Tim Paterson. All Those Floppy Disk Formats…
Когда в IBM PC стали устанавливать двусторонние дисководы, в FORMAT.COM добавили ключик /1, чтобы использовать только одну сторону дискеты на 160KB. А когда PC DOS научилась записывывать 9 512-байтных секторов на дорожку, добавили ключик /8, чтобы для совместимости со старыми IBM PC записывать на дорожку 8 секторов вместо 9 (160KB и почти бесполезные 320KB). Каждый из 4-х вариантов получил свой FAT ID.
Я,конечно, не помню их наизусть, какой бит различал односторонний формат, какой 40/80 дорожек, какой 8 секторов...
ответить
From Eugene (unverified) Wed Aug 14 17:17:58 2024 UTC
Re: Re: Re: Re: Re: Re: Data Science
> Насколько я помню, они некоторое время различались комплектом поставки. К тому времени, когда была выпущена коробка Borland Pascal 7.0, которая у меня в шкафу до сих пор стоит, разницы уже не было.
Как облабатель такой же коробки, уточню :) Borland Pascal был только 7 версии, до этого — Turbo. Отличались в основном наличием компилятора для Win16, всяких утилит, воде редактора ресурсов и библиотекой ObjectWindows. В обычном TurboPascal этого не было. А для Windows был отдельный TurboPascal for Windows. Кажется, до версии 1.5, что-ли, дожил.
>> _не умело_ создавать exe-файлов
>сие есть чушь, не знаю откуда взявшаяся. Скажем, я в программирование "вкатывался", когда мейнстримом был Turbo Pascal 5.0, там, естественно, компиляция была и exe-файлы создавались.
А вот и нет, TurboPascal 3.0 не умел создавать .exe, только .com. А взялось сиё заблуждение из-за наличия прекрасного режима компиляции в ОЗУ, без записи исполнимого файла на диск. Эта штука очень помогала, особенно если жёсткого диска на машине не было (у меня в школе как раз такие были, PS/2 с флоповодом, но без винта).
ответить
From Turbo (unverified) Tue Aug 13 03:16:50 2024 UTC
Turbo Pascal
Лицензии Turbo Pascal стоили в диапазоне $40-70 . Версия для CP/M, естественно, не только не включала фигню для Windows 3.0, но и не умела создавать exe, потому что в CP/M их не было. Можно было или сгенирить программу в свободную от "IDE", библиотеки и компилятора RAM и выполнить её, не обращаясь к дискете. Либо сохранить код в исполняемый COM-файл вместе с несколькими килобайтами рантайма, который копировался тоже из RAM, из выполняющегося Турбо-Паскаля. Был ещё вариант сохранения куска кода без библиотеки. Его программа на ТурбоПаскале могла подгрузить и выполнить библиотечной процедурой. Первые версии для MS-DOS работали примерно так же, и неиспользовали EXE-файлы и другие возможности, которых в ранних изданиях IBM PC DOS/MS-DOS, имитирующих API CP/M, ещё не было.
Для Windows через несколько лет выпустили Turbo Pascal for windows.
ответить
From Andrey V. Stolyarov Tue Aug 13 10:27:15 2024 UTC
Re: Turbo Pascal
Версию для CP/M я, смутно припоминаю, видел на адских машинах системы "роботрон" в компьютерном классе на первом курсе (осень 1992 года; по-моему мы были последним курсом, который с этими гробами работал, потом их заменили на что-то более приличное). Вроде бы это был Turbo Pascal 3.0. Особо разбираться я с этим всем не стал — предложил нашему преподавателю притащить триста килобайт исходников на Паскале, чтобы продемонстрировать, что эту тему для себя уже раскрыл (я к тому времени (а) вёл кружок для школьников и (б) мне уже успели заплатить денег за написание программы), ну в общем препод хмыкнул и предложил мне прийти прямо на зачёт. Так что совсем близкого знакомства с этими роботронами я счастливо избежал.
Первой лично для меня версией Турбо Паскаля стала (на два года раньше) версия 5.0, более старых я не видел и не трогал. Но 5.0 точно всё прекрасно компилировала — я помню свои ощущения, когда написал пробную программу на десяток строчек, заставил эту скотину мою программу откомпилировать, вышел из среды и увидел, что exe-шник получился на 140 с лишним KB (при ёмкости дискеты 720; был, как сейчас помню, на этих ЕС1840 такой хитрый вроде бы драйвер, который назывался 800.com — после его запуска можно было дискеты 5" DSDD форматировать под всякие странные форматы — два по 360, один на 720 и вроде бы максимум возможного — 800 KB). В общем, когда в таких нечеловеческих условиях несчастный exe-шник из программы на полэкрана получается 140+, это, мягко говоря, разочаровывает. Потом, правда, выяснилось, что программу можно написать и на 1000 строк, и на 5000, а exe-шник при этом даже до 200 KB не дорастёт, но это было потом.
ответить
From Eugene (unverified) Wed Aug 14 17:40:35 2024 UTC
Re: Re: Turbo Pascal
очень странно, такую RTL пятая версия точно за собой не таскала. Не поленился, в досбоксе установил 5.5 (из ссылки выше) и написал "hello, world". 1904 байта. Если crt подключить (ClrScr сделать), то 3488 байт.
Отдельные умельцы на нём даже вирусы писали, а вирус в те времена должен был быть маленьким :) Видел пару экземпляров.
Похожие размеры были, если подключить TurboVision (и, кстати, да, там было именно так, как вы пишите: большая программа не сильно увеличивала размер экзешника по сравнению с минимальным), а библиотека эта появилась только в шестой версии.
ответить
From Andrey V. Stolyarov Wed Aug 14 17:53:01 2024 UTC
Re: Turbo Pascal
Да, странно. Воспоминания у меня довольно яркие и вполне ясные, несмотря на 30+ прошедших лет. Но доверять своей памяти, как мы знаем, без объективной аудио-видео-фиксации вообще-то нельзя.
Вообще немножко поскрипел мозгами и подумал, а не мог ли это быть gw-бейсик? :-)
ответить
From Eugene (unverified) Wed Aug 14 18:07:41 2024 UTC
Re: Re: Turbo Pascal
> Вообще немножко поскрипел мозгами и подумал, а не мог ли это быть gw-бейсик? :-)
неа, он не компилятор, вернее, если правильно помню, он таки преобразовывал программу в какой-то байт-код, но исполнимых файлов не выдавал.
Если уж о бейсиках, то, кажется TurboBasic (ага, был такой, к счастью быстро помер), делал именно так.
ответить
From VM (unverified) Tue Aug 13 12:10:23 2024 UTC
Re: Turbo Pascal
$49.95
Сейчас без регистрации и SMS с официального сайта Embarcadero можно скачать 3 официальных музейных дистрибутива TP для энтузиастов, опубликованные ещё в рамках Borland Antique Software Museum. Если не ошибаюсь, это та самая 5.5, 1.0 и какая-то 3.x
tp55.zip
tp302.zip
turbo
Турбо Си и c++ впридачу Turbo C Turbo C++
Ссылки с регистрацией (не знаю, работают ли ещё или уже нет) https://cc.embarcadero.com/prodcat.aspx?prodid=7&catid=14
ответить
From Kakapo (unverified) Tue Aug 6 13:57:10 2024 UTC
Gnu Octave
А с каких это пор Gnu Octave, предназначенное сугубо для расчётов/мат моделирования, стали ставить на одну полку с пытончегом? Да, что там есть свои приколы, но это именно Domain Specific Language, который никто никогда за универсальный язык выдавать и не пытался.
ответить
From Andrey V. Stolyarov Tue Aug 6 14:32:59 2024 UTC
Re: Gnu Octave
DSL — это хорошо и правильно, в том смысле что у меня против специфичного языка могут возникнуть возражения только в случае, если он отрастит себе библиотечную инфраструктуру, и никак не раньше.
Но в контексте коммента, на который вы отвечаете, это, как ни странно, не так важно. Важно ровно одно: непрограммисты программировать не могут. Ни на чём и никогда. Это известно со времён Кобола и раз за разом подтверждается всякими автокадами, 1С-ками и прочим ожиревшим софтом, содержащим в себе DSL. Чтобы программировать, нужен программист, и если программировать предлагается под 1С, бухгалтер этого делать всё равно не будет, просто появится отдельная сущность "1С-программист".
Попытки устроить какое-то там "программирование для непрограммистов" — это в лучшем случае самообман, когда никто ничего не понимает, но препод этого предпочитает не замечать и всем всё в итоге ставит; а в худшем случае — это получается вредительство, порча, пардон за цинизм, человеческого материала.
ответить
From Artem (unverified) Tue Aug 6 14:30:03 2024 UTC
Re: Re: Re: Data Science
> решать простейшие задачи, и студенты не всегда понимают, что такое текущий каталог, переменная среды, не знают командной строки и т.п.
Звучит примерно как учить управлению самолётом в воздухе, но не учить взлетать и садиться, а так же пользоваться парашютом. Да и само управление самолётом свести к автопилоту.
ответить
From Andrey V. Stolyarov Tue Aug 6 14:42:02 2024 UTC
Re: Data Science
Знаете, что тут самое страшное? Что "современные" (блядь) самолёты от компании Airbus реально можно поднять в воздух, протащить по маршруту и заставить благополучно сесть, не умея пилотировать самолёт, не касаясь ни сайдстика, ни РУДов, ни (упаси ктулху) педалей, педали там вообще трогать не рекомендуется, хотя они и есть. Естественно, если хоть что-то где-то пойдёт не так, финал будет немного предсказуем, но в стерильных погодных условиях и при полностью работающем оборудовании это возможно.
Нет, пилотов, конечно, учат летать. Больше того, многие пилоты айрбасов в свободное от работы время крутят всякий пилотаж на лёгкой мелочёвке, чтобы не забыть, кто они по профессии и в чём эта профессия заключается. Некоторые стараются взлетать и садиться вручную, чтоб не потерять квалификацию — это если правила авиакомпании не запрещают (а во многих компаниях так или иначе подобные запреты просачиваются).
Не знаю кто как, а я стараюсь на айрбасах не летать.
ответить
From Parthen (unverified) Tue Aug 6 15:49:33 2024 UTC
Re: Re: Data Science
Уже представляю курсы от AirBusFactory.
Ну и автопилот естественно голосовой, написан на питоне, работает под Windows XP.
>реально можно поднять в воздух, протащить по маршруту и заставить благополучно сесть, не умея пилотировать самолёт
А так не на всех? Были же случаи, когда стюардессы под командованием диспетчера самолет успешно сажали. (Да и просто подняться в воздух и лететь по прямой не то чтобы сложная задача)
ответить
From Andrey V. Stolyarov Tue Aug 6 16:45:44 2024 UTC
Re: Data Science
> автопилот естественно голосовой, написан на питоне, работает под Windows XP
Ни к селу ни к городу вспомнилось, что "интерфейс управления" кораблём Dragon Crew от Илона свет Маска мало того, что состоит из двух больших тачскринов — оно ещё и написано на электроне.
Управление космическим кораблём. На электроне. Прости, Юра, мы (в данном случае чел-овечество целиком) всё просрали.
> А так не на всех?
Боинг вроде взлетать сам не умеет. И вообще там штурвал, а не сайдстик, т.е. боинги предполагают управление человеком, тогда как в айрбасах парадигма другая — там управляет робот, а человек ему может немножко помешать.
ответить
From merino (unverified) Tue Aug 6 16:28:40 2024 UTC
Re: Re: Data Science
Ввиду последних событий, на боингах тоже летать боязно. Кажется пора пересаживаться на поезда :)
ответить
From Andrey V. Stolyarov Tue Aug 6 16:39:21 2024 UTC
Re: Data Science
Боинг хотя бы управляется людьми.
ответить
From Artem (unverified) Mon Aug 5 15:42:03 2024 UTC
Re: Re: Re: Data Science
Помнится, я этим песням про идеальность питона для новичков в программировании даже поверил. Так вот, брехня это, что он позволяет думать о задаче, а не о синтаксисе. Сосредоточиться на задаче позволяют библиотеки, а не язык. А запариваться над синтаксическими конструкциями перестаёшь тогда, когда овладеваешь ими, и тут питон ничем не лучше C.
ответить
From Andrey V. Stolyarov Mon Aug 5 17:39:45 2024 UTC
причина vs. повод
Как-то в конце девяностых мы (уже не помню точно, с кем) обсуждали, не кинуть ли оптический кабель с одной крыши на другую. На что один из участников обсуждения сказал, что на него обязательно ворона сядет. Остальные, разумеется, возразили, что какая нафиг ворона, никакая ворона оптический кабель не порвёт, особенно если его кидать, как положено, с несущим стальным тросиком. На что чел ухмыльнулся и напомнил, что бывает причина, а бывает повод, так что — ну, это просто будет очень большая и тяжёлая ворона.
Sapienti sat.
ответить
From Parthen (unverified) Mon Aug 5 18:56:26 2024 UTC
Сократ мне друг, но истина дороже
Но Питон же и славится кучей библиотек на каждый чих? И в особенности, "простой" установкой библиотек на комп (на виндовый, на юниксах установить библиотеку на си и на питоне - одинаковой сложности задача)
Причем у питонистов есть глобальный репозиторий всех этих пакетов (PyPI), и вот в нем 560 084 проекта. Полмиллиона.
Проблема у Питона явно не в отсутствии библиотек
ответить
From Andrey V. Stolyarov Mon Aug 5 19:14:32 2024 UTC
Re: Сократ мне друг, но истина дороже
Вот уж точно не в отсутствии. Проблема питона скорее в их наличии.
ответить
From Artem (unverified) Tue Aug 6 10:52:11 2024 UTC
Re: Сократ мне друг, но истина дороже
> на юниксах установить библиотеку на си и на питоне - одинаковой сложности задача
Вас обманули, pip работает одинаково и на винде, и на маке, и на линухе, и входит в стандартную поставку питона во всех популярных дистрах. Насчёт BSD не знаю, ставить ради такой чепухи лень, а юзеров её вживую не встречал.
ответить
From Andrey V. Stolyarov Tue Aug 6 11:18:17 2024 UTC
Re: Сократ мне друг, но истина дороже
Ага, только с версиями постоянно хрень какая-то, и эта хрень совершенно неизбежна, когда в принципе присутствует граф зависимостей. Слушайте, завязывайте с демагогией. Я не так давно пытался заполучить возможность работать с биткойнами, так вот ни один из кошельков мне запустить не удалось, причины были разные, но точно помню, что одному из них требовалась версия питона на несколько единичек новее, чем есть в моём дистре. Всё, точка, все свободны.
Это не говоря уже о том, что любой автор библиотеки в такой "экосистеме" получает возможность единовременно подчинить себе все экземпляры всех программ, зависящих от его библиотеки. Это, кстати, понятно или тоже разжёвывать надо?
ответить
From Parthen (unverified) Tue Aug 6 11:38:51 2024 UTC
Re: Re: Сократ мне друг, но истина дороже
Не понял опровержения. Я говорю, что на Линуксе и Винде pip работает одинаково просто, перечитайте сообщение
ответить
From дотошный аноним (unverified) Tue Aug 6 13:52:05 2024 UTC
Re: истина дороже
> Насчёт BSD не знаю, ставить ради такой чепухи лень, а юзеров её вживую не встречал.
Вам будет сложно поставить систему (или встретить её юзеров), последний релиз которой состоялся аж в конце прошлого века: https://en.wikipedia.org/wiki/Berkeley_Software_Distribution
Пользователей же систем OpenBSD, FreeBSD или даже, кажется, NetBSD можно встретить и в этой гостевой книге, далеко ходить, как говорится, не надо. (Минутка просвещения для тех, кто не в курсе: в отличие от "дистрибутивов" линукса, перечисленные системы семейства BSD -- это разные операционные системы.)
Во всех этих системах питоновский pip есть, да. Ставить эти системы чтобы проверить наличие у них в портах этой самой пипы тоже, кстати, не нужно. Я вполне смог проверить этот факт не устанавливая ни FreeBSD, ни NetBSD.
Ну и, вообще говоря, если бы вы внимательно прочитали сообщение Parthen, на которое вы отвечаете, то увидели бы, что он нигде не утверждал сложность установки этой пипы ни на винде, ни в какой-либо юниксоподобной системе.
ответить
From Parthen (unverified) Mon Aug 5 18:23:01 2024 UTC
Re: Data Science
Я конечно не эксперт, но вроде как на Питоне пишут в Data Science математики, а не программисты. А потом уже программисты их, эээ, продукт переписывают на С++, чтобы работало нормально.
Ну, вот взять небезызвестную Llama от Meta/Facebook (ту самую, которую 4chan'овцы слили). Изначально ее релизят на Python, и жутчайше тормозит.
Находится умелец Georgi Gerganov, который переписывает это все дело на C/C++ и выкладывает как llama.cpp. (Причем: Plain C/C++ implementation without any dependencies)
Его версия (пусть и с урезанием) сносно работает даже на ARM. Оригинал задыхался у меня, на компе, на котором я спокойно видео монтирую и в Blender'е модельки пилю.
ответить
☞ From anonymous (unverified) Thu Aug 1 11:30:48 2024 UTC
Безработица в IT
Тут относительно недавно обсуждалась тема безработицы в IT - кто-то рассказывал про какого-то чувака, который пропагандистскую статью на эту тему написал.
Я новичок, который оценить ситуацию достоверно не может, но мне разные высказанные мнения показались интересными и это отложилось у меня в памяти. И тут вдруг вчера мне целый сайт попался, на котором целая куча таких статей и комментов от разных людей, но точно не пропагандистских - без указания конкретной страны. Мол, работы мало, работать тяжелее и тяжелее, зарплаты падают, зад от всего этого болит.
Так вот, там в числе ключевых причин сложности работы и её поиска авторами очень часто указывается, что весь накопленный багаж знаний за промежуток в примерно пять лет настолько безнадежно устаревает, что всё чуть ли не заново учить надо, чтобы составлять молодым конкуренцию.
Я и раньше осваивал "Введение в профессию" исключительно "для души", без целей и мечт зарабатывать на программировании, но теперь мне ещё меньше хочется пробовать коммерческую деятельность. Лицо себе представили этого человека, у которого его рабочий инструмент за несколько лет меняется настолько, что человек этот перестает быть специалистом?
И ещё как-то на ютубе ролик попался, где какой-то джавист рассказывал, что в его компании на джаве так интересно пишут, что при переходе в другую компанию с другими джава-фреймворками человек иногда оказывается не способен работать. (Как это возможно - я без понятия, ни строчки на джаве не написал и не собираюсь.)
Что я сказать-то хотел? Ничего особенного - просто писец какой-то в этом вашем айти происходит. Похоже, я скоро укреплюсь во мнении, что большинство направлений и большинство вакансий и пробовать не стоит и вообще лучше зарабатывать деньги в местах без риска с ума сойти. И к концу трёхтомника так и буду продолжать писать только программы, интересные мне лично.
ответить
From Andrey V. Stolyarov Thu Aug 1 12:13:02 2024 UTC
Re: Безработица в IT
Можете не беспокоиться, всё то, что в трёхтомнике изложено, устареванию не подвергается. Вот это вот ваше "накопленный багаж знаний за промежуток в примерно пять лет настолько безнадежно устаревает, что всё чуть ли не заново учить надо" происходит, когда в "багаже знаний" вообще-то нет никаких знаний, есть только сиюминутное умение работать с теми самыми фреймворками, которые сегодня те, завтра эти, послезавтра совсем другие — фреймворк-то слепить дурное дело нехитрое, вот их и лепят ежеминутно "новые".
Вообще я тут на сайте много раз повторял: пойдёте в веб-разработку — всё, с мозгами можете распроститься. Там под этими фреймворками не видно не только сути, но и вообще того факта, что где-то под ними есть что-то ещё. Но для человека, обладающего знаниями, вся эта поверхностная "фреймворковая" рябь воспринимается как нечто второстепенное, обезьяньи поделья приходят и уходят, суть остаётся. Тогда как для персонажей, ничего кроме этой ряби не видящих, мир превращается в нечто полностью лишённое стабильности. И да, таких нынче намного больше, нежели серьёзных людей, они же ещё себя и программистами считают, хотя из них программисты — как из меня балерина.
Но вот заключительная мысль у вас, я бы сказал, очень здравая:
так и буду продолжать писать только программы, интересные мне лично.
Если следовать этому принципу, то с неплохой вероятностью вам рано или поздно предложат и работу, интересную вам лично, и прилагающиеся к ней дивиденды. Оно само придёт. Главное — не дёргаться и не бежать судорожно в каком-то направлении лишь только потому, что в этом направлении только что промчалось стадо обезьян.
ответить
From Дмитрий (unverified) Thu Aug 1 12:43:39 2024 UTC
Re: Re: Безработица в IT
> Главное — не дёргаться и не бежать судорожно в каком-то направлении
Что в это время есть? Где брать деньги на базовые потребности?
Как бы вы не ругали Python/JS это те языки на которых можно зработать себе на хлеб. С Golang уже сложней. С Си - практически не реально с 0, надо лет 5 где-то практиковаться.
ответить
From Andrey V. Stolyarov Thu Aug 1 13:01:24 2024 UTC
Re: Re: Re: Безработица в IT
Так а зачем такие сложности? Питон какой-то, жабаскрипт, слова мудрёные, компьютеры ещё какие-то, иди в ларёк торгуй шаурмой, без куска хлеба не останешься.
И вон с моего сайта, вот тут какое слово непонятно, мразь?
Что особенно занятно, ведь это чмо наверняка считает, что оно тоже программист. Собственно, по-видимому вот такие вот и пишут, что "в айти" возникли какие-то трудности с работой и зарплатой. Ну, у такого уровня "специалистов" они не возникнуть и не могли, потому что это как раз доступно всему тому планктону, которое хочет зарплату получать как программист, а учиться как программист (да, безусловно, если с нуля — лет пять до чего-то осмысленного, лет десять до чего-то стоящего) почему-то не хочет. Так что внутри этого слоя "якобы-программистов" конкуренция будет расти, пока зарплаты не сравняются с получками третьесортных офисных клерков, после чего будет достигнут гомеостаз.
Тех программистов, которые программисты, а не вебоскриптомакаки, это всё не касается примерно никак.
ответить
From Parthen (unverified) Thu Aug 1 13:41:30 2024 UTC
Re: Re: Re: Re: Безработица в IT
>иди в ларёк торгуй шаурмой, без куска хлеба не останешься.
This, but unironically
Обучающийся программированию вполне может где-то подрабатывать (лишь бы не мозгами), а по вечерам сидеть программировать.
Есть вообще работы, где надо просто подолгу сидеть за компом, изредка что-то делая: администратор в компьютерном клубе, например. Денег так много не заработать, но на покушать хватит. (Я в миллионике получал 2к рублей за смену. Если работать официально и по графику, можно и сильно побольше)
А попытки войти-вайти через питон аукнутся лет в 30-40. Когда ты понимаешь, что твоя оставшиеся жизнь - это формошлепство и постоянные попытки выучить расположение новых формочек, без понимания сути - выгорание придет быстрое и сильное.
ответить
From anonymous(TS) (unverified) Thu Aug 1 14:57:48 2024 UTC
Re: Re: Re: Re: Безработица в IT
Я не очень внимательно наблюдал за рынком вакансий, но почему-то у меня есть неприятное ощущение, что вот эти все элементы, подобные тому, кого вы сейчас с сайта прогнали - уже победили. Бизнес как будто почему-то реально всё больше и больше пересаживается на все эти странные вещи - джавы, сишарпы, питоны и всё остальное.
Желания работать на эти бизнесы никогда не было. И вообще программирование чисто для себя интересует намного больше. А та работа, которая на нормальных языках и выглядит нормально - это ж космос какой-то для меня. Иногда в прямом смысле. Ракеты, микроконтроллеры, роботы, прочая сложная промышленность, какая-то высокая наука. Выглядит классно, и понятно, почему там конкуренции не слишком много.
Я в связи с этим уже на себе предварительно крест поставил. Я начал совсем недавно, успел написать только жалкое подобие консольного текстового редактора, змейку и ещё пару простеньких игрушек - скорее даже не игрушек, а забавных управляемых с клавиатуры визуальных эффектов. И мне каждая из эти программ далась с тяжким трудом, куда уж мне вся эта высокая ракетная наука. Собираюсь писать тетрис и уже заранее кажется, что на качественную реализацию целая неделя уйдет с моими не слишком талантливыми мозгами.
В общем, кажется мне, вероятность найти нормальную работу у меня совсем невысокая. Впрочем, меня это совершенно не расстраивает. И, впрочем, пока я новичок - ни в одном своем утверждении, которое я в этом комментарии написал, я не уверен.
ответить
From Andrey V. Stolyarov Thu Aug 1 15:53:40 2024 UTC
Re: Безработица в IT
> вот эти все элементы, подобные тому, кого вы сейчас с сайта прогнали - уже победили
Даже интересно, в чём, по-вашему, состоит их победа. Вы что, думаете, что вакансий для нормальных программистов стало меньше? Ну так нет, их стало больше. Просто на общем фоне вот этих вот немеряных толп бессмысленных мартышек создаётся ощущение, что кругом только одни мартышки и есть.
> Я в связи с этим уже на себе предварительно крест поставил. Я начал совсем недавно
Честно говоря, ощущение такое, что из-за вот этого вот креста, который вы на себе якобы поставили, ваши шансы на нормальную работу ещё и увеличиваются. Хотя бы даже потому, что вы вряд ли станете дёргаться из-за её отсутствия, а это тоже важно.
ответить
From anonymous(TS) (unverified) Thu Aug 1 16:49:27 2024 UTC
Re: Re: Безработица в IT
> даже интересно, в чем их победа
Ну, победа - это я так условно выразился. Имелся в виду захват рынка или доминирование их взглядов на профессиональную деятельность над всеми другими взглядами.
Мне с моим не слишком широким кругозором кажется, что они вытеснят нормальные технологии отовсюду, откуда только можно будет, чтобы всей этой орде жить было проще. Слышал, например, мнение знакомого вебщика, что, дескать, хорошо бы все возможные прикладные программы перенести в браузер, и будет во всем свете Идеальная Совместимость Всего Со Всем. И вот есть ощущение, что они однажды добьются захвата всего рынка или победы какой-нибудь такой совершенно восхитительной идеи; "имя им легион, потому что их много", и писать программы им на своих этих веб-технологиях, растущих друг из друга как гидры, проще. Надеюсь, конечно, что я дурачок и что все эти мои ощущения не сбудутся.
А крест я на себе поставил не якобы, а прямо-таки; ну, то есть, я не думаю, что надежды совсем нет - и медведи на велосипедах кататься учатся. Просто думаю, что мне лет эдак десять понадобится с полного нуля до момента профпригодности, а там уж, может, все это мне уже и не понадобится. Это мне уже тридцать пять будет - а там я, может, предпочту в лесу жить без электричества :-D
ответить
From Andrey V. Stolyarov Thu Aug 1 20:04:49 2024 UTC
Re: Re: Re: Безработица в IT
Ну так вы завязывайте с такой мразью общаться, и ощущение от окружающего мира нормализуется.
NB: что вебщик может быть чем-то отличным от мрази, меня не убедит никто, никогда и никак.
ответить
From anonymous (unverified) Fri Aug 2 12:12:33 2024 UTC
Re: Re: Re: Re: Безработица в IT
Кстати, а как отличить настоящую мразь от человека, который просто не понимает, что творит? Или там никакой существенной разницы в принципе нет?
ответить
From Andrey V. Stolyarov Fri Aug 2 12:22:37 2024 UTC
Re: Безработица в IT
Зависит от используемой терминологии. Ну и вообще от применяемой парадигмы, если можно так выразиться. Я вот, например, не считаю, что всевозможная "невменяемость", "состояние аффекта" и прочее в таком духе должно освобождать от ответственности, даже частично. Вынужден признать, что господствующая парадигма противоположна.
ответить
From anon (unverified) Fri Aug 2 16:55:22 2024 UTC
Re: Re: Безработица в IT
Стоит ли ждать ролик на infoviolence на эту тему?
ответить
From Andrey V. Stolyarov Fri Aug 2 17:03:09 2024 UTC
Re: Re: Re: Безработица в IT
Конкретно на эту — нет. Смежные, возможно, будут затрагиваться.
ответить
From anon (unverified) Sat Aug 3 17:31:49 2024 UTC
Re: Re: Re: Re: Безработица в IT
Однако, они уже повсеместно проникли в систему образования, окопались там, пустили корни.
ответить
From Andrey V. Stolyarov Sat Aug 3 18:30:34 2024 UTC
Re: Безработица в IT
Не переоценивайте все эти потуги "системы образования" якобы "делать новых программистов". В действительности программистов нигде не делают, поскольку это невозможно. Человек может либо сам стать программистом, либо не стать.
А в системе образования, знаете ли, много всякого пустило корни.
ответить
From Anatolius (unverified) Sat Aug 3 20:53:41 2024 UTC
Re: Re: Re: Re: Безработица в IT
Выше человек писал, что 35 уже много для профпригодности; а я вот в 35 лет начал заниматься программированием, я вот испугался, не поздно ли я начал?!
ответить
From Andrey V. Stolyarov Sat Aug 3 21:43:18 2024 UTC
Re: Безработица в IT
Будет тяжело, но ничего невозможного нет — я видел людей, начинавших ещё позже и успешно преодолевших все трудности.
ответить
From anonymous(TS) (unverified) Sun Aug 4 13:43:33 2024 UTC
Re: Re: Re: Re: Re: Безработица в IT
Эй, я такого не писал - я написал, что, может, в тридцать пять лично меня от всех компьютеров на свете затошнит :-)
А у вас, конечно, все вполне может быть впереди. Единственное, что мне пока не удалось повидать - это как кто-то высшую математику после 35 с около-нуля учить начинает. И то, наверное, это возможно - просто лично я такого не слышал.
ответить
From Andrey V. Stolyarov Sun Aug 4 14:04:15 2024 UTC
Re: Безработица в IT
Не знаю, возможно ли начать изучать высшую математику после тридцати пяти и чтобы что-то получилось. Утверждать, что это принципиально невозможно, не буду. Но вот лично в меня уже после тридцати никакие новые (и даже не так чтобы новые, просто такие, которые я когда-то недопонял) разделы математики не лезли. Это при том, что на тот момент в анамнезе у меня было и профильное в/о, и степень.
ответить
From Иван С. (unverified) Sun Aug 4 18:16:34 2024 UTC
Re: Re: Безработица в IT
А какие разделы математики вы недопоняли, если не секрет?
ответить
From Andrey V. Stolyarov Sun Aug 4 19:21:41 2024 UTC
Re: Re: Re: Безработица в IT
Недопонял я, подозреваю, много чего, а не полезли в меня (при попытке их таки грокнуть) теория групп и функциональный анализ. Не спрашивайте меня, почему именно эти два, просто я их пробовал, другие не пробовал.
ответить
From Anonymous (unverified) Sun Aug 4 23:00:50 2024 UTC
Re: Re: Re: Re: Безработица в IT
Любопытно, я тоже не так давно теорию групп разобрать пытался из любопытства (из студенческого возраста я уже вышел). Есть книжка Алексеева "Теорема Абеля в задачах и решениях", в которой для доказательства этой самой теоремы Абеля (о том, что алгебраические уравнения степени 5 и выше в общем случае неразрешимы в радикалах) надо разобрать теорию групп (или часть теории), для чего автор предлагает набор задач, решая которые, можно погружаться все больше и больше, и в итоге прийти к доказательству теоремы.
Поначалу это все было очень интересно и занятно, но в итоге я сдулся, терпения не хватило - задачек там навалом.
Мне кажется, что возраст, безусловно, влияет на возможность обучения математике, но не думаю, что это влияние всегда обусловлено мозговыми способностями (я от разных людей слышал, что после 30 способности к обучению начинают потихоньку таять). Возможно, в зрелом возрасте просто появляется больше посторонних забот. А без терпения хорошо понять математику не получится.
ответить
From Дилетант (unverified) Sat Aug 17 11:05:01 2024 UTC
Алгебра
У классика немецкой математической педагогики Ф.Клейна есть цикл лекций об икосаэдре и решении уравнений 5-й степени
ответить
From Andrey V. Stolyarov Sat Aug 17 13:38:57 2024 UTC
Re: Алгебра
И что?
ответить
From Anon (unverified) Sun Aug 4 18:36:44 2024 UTC
Re: Безработица в IT
Может тут уже дело в мотивации. Да и не у всех, возможно, в таком возрасте найдется достаточно времени на изучение.
ответить
From Andrey V. Stolyarov Sun Aug 4 19:25:13 2024 UTC
Re: Безработица в IT
У меня мотивация влезть в функан была более чем серьёзная: квалификации мне как раз тик в тик хватает, чтобы понять, насколько это красиво и что я потерял, не сумев в эту дисциплину проникнуть, но вот взять и грокнуть — уже не хватает.
ответить
From Artem (unverified) Sun Aug 4 11:38:28 2024 UTC
Re: Re: Re: Безработица в IT
> вытеснят нормальные технологии отовсюду, откуда только можно будет
У нас в универе один промышленный гигант сделал что-то типа собственной кафедры допобразования. Я у них сидел (слово "учился" не подойдёт) на этаком "пробном семестре", и одна вещь меня очень сильно удивила: оказывается, показания датчиков с промышленного оборудования у них стекаются прямиком в веб-приложения, а телеграм-бот это, дескать, хороший, годный кандидат на роль основного, а то и единственного интерфейса для мониторинга процессов выплавки металла или чего-то подобного.
ответить
From Andrey V. Stolyarov Sun Aug 4 11:47:07 2024 UTC
Re: Безработица в IT
В 1999, если мне склероз не изменяет, году широко обсуждался обнаруженный факт построения внутреннего (!) документооборота банка (!) на основе ICQ. Есличо, она тогда ещё не принадлежала mail.ru. Т.е. ходила через сервера в Америке (вроде уже не в Израиле, я датировку не помню и не хочу сейчас восстанавливать). И шифрования в себе не содержала (я не знаю, появилось ли там позже шифрование или она так до своей бесславной кончины и жила на plain text'е, но на ранних этапах там точно всё в отрытую ходило).
Ну то есть сотрудники банка, сидящие в одной комнате, друг дружке пересылали сугубо внутренние сообщения — через весь мир открытым текстом.
Ей-богу, дебилизмом уже поздно кого-то удивлять. Да, кругом дебилы. Да, давно. Да, везде.
ответить
From Parthen (unverified) Thu Aug 1 16:01:49 2024 UTC
Непрошенно влезу
>Бизнес как будто почему-то реально всё больше и больше пересаживается на все эти странные вещи - джавы, сишарпы, питоны и всё остальное.
Я не буду вдаваться в политику, но стоит понять одно - корпорации, государства и прочие коллективы без нас (индивидов) ничего сделать не могут. И все их Питончики и Джавы написаны на Си, и без нас они их просто не смогут их обслуживать.
>И мне каждая из эти программ далась с тяжким трудом
Главное, что вам это нравится. Я, помнится, в указатели полгода долбился, а сейчас смотришь: пфф, фигня какая.
ответить
☞ From Дмитрий (unverified) Thu Aug 1 07:55:19 2024 UTC
Взрослею. Все больше соглашаюсь с Вами.
Пересмотрел ваше интервью Бороде. Удивился насколько больше стал с Вами согласен.
ответить
From Andrey V. Stolyarov Thu Aug 1 10:10:58 2024 UTC
Re: Взрослею. Все больше соглашаюсь с Вами.
Что-то вы быстро, прошло-то всего три года. Ну хотя трудно поверить, что всего три года.
ответить
From Макака (unverified) Thu Aug 1 17:37:30 2024 UTC
Re: Взрослею. Все больше соглашаюсь с Вами.
Смешное было интервью. Борода как олицетворение вкатыша вызывал смешанные чувства, на фоне чего стойкость владельца данного ресурса вызывает почтение. С другой стороны, только с подачи этого интервью узнал об авторе, а так же его книгах и позиции, которые помогли не потеряться посреди этого ойти-безумия.
ответить
From Andrey V. Stolyarov Thu Aug 1 20:08:12 2024 UTC
Re: Взрослею. Все больше соглашаюсь с Вами.
Да ладно, Борода как раз своё мироощущение довольно внятно спрятал. Ну, что-то там прорывалось, конечно, но это ещё заметить надо. Собственно, он мне как раз тем и понравился в роли интревьюера, что у него получается демонстрировать гостя, а не себя на фоне гостя.
ответить
From Student (unverified) Sat Aug 3 01:48:16 2024 UTC
Re: Re: Взрослею. Все больше соглашаюсь с Вами
Только с подачи этого интервью узнал об АйТиБороде. Действительно, и интервьюер хороший, примечательный, и темы интересные. Но честно говоря, я только два выпуска у него посмотрел более-менее полностью: собственно сабжевое и ещё раз его же, но уже спустя три года. :)
ответить
☞ From + (unverified) Tue Jul 30 18:34:45 2024 UTC
Передача файлов в jabberd2
Здравствуйте, Андрей Викторович. В интервью вы как-то говорили, что раскуривали сервер jabberd2. Подскажите пожалуйста, делали ли вы там передачу файлов? И если да, то каким образом это было сделано? Есть необходимость в организации jabber-сервера под owl. Думаю вы знаете о ejabberd. Там есть mod_file_transfer, но ничего похожего в конфигурации c2s.xml из документации jabberd2 мне найти не удалось.
ответить
From Andrey V. Stolyarov Tue Jul 30 20:08:01 2024 UTC
Re: Передача файлов в jabberd2
Нет, передачу файлов я там не настраивал, и вообще это пятнадцать лет назад было, уже давно ничего не помню. Зато помню, как угробил прорву времени на попытки скомпилировать Erlang для этого самого ejabberd. Это было одно из множества событий, которые суммарно сформировали моё нынешнее отношение ко всевозможным "альтернативным" парадигмам.
ответить
☞ From Anonymous (unverified) Sun Jul 28 04:16:52 2024 UTC
Компьютеры Аполлонов
А интересная идея была. Цифровой сегментный дисплей позволял довольно полноценно управлять компьютером, который в свою очередь не был просто отдельным компьютером, а был подключен к двигателям, телескопам, секстантам.
Команды вводились с помощью двухцифрового Verb и двухцифрового Noun, все в стиле "сделать что-то с чем-то", например установить угол телескопа. Заметье, всё это без всяких пиксельных или даже векторных дисплеев, и можно было полноценно пользоваться, просто на сегментных дисплеях как на старых калькуляторах.
Интересно, где-то на Земле такой интерфейс управления компьютером применялся?
Видео на английском: http://infoviolence.org/ytid.cgi/ndvmFlg1WmE
Перевод на русский: http://infoviolence.org/ytid.cgi/vAaBnOsjNlc
ответить
☞ From Oliver (unverified) Sat Jul 27 11:00:01 2024 UTC
Отображаение содержимого файла в память
Добрый день, Андрей Викторович! Во второй части книги на странице 335 приведен фрагмент кода, который отображает содержимое некоего файла в память. В коде имеется переменная int size = 4096. Данная переменная хранит размер отображаемого файла в байтах?
ответить
From Andrey V. Stolyarov Sat Jul 27 11:52:55 2024 UTC
Re: Отображаение содержимого файла в память
Не сразу понял, о каком фрагменте идёт речь, поскольку вторая там не часть, а том (а часть — пятая).
Нет, это не размер файла, это размер отображаемой области. А самый последний параметр (в примере он равен нулю) указывает, с какого места файла эта область должна начинаться.
ответить
From Oliver (unverified) Mon Jul 29 05:22:20 2024 UTC
Re: Re: Отображаение содержимого файла в память
> Не сразу понял, о каком фрагменте идёт речь
Читаю свой комментарий, и удивляюсь, насколько неточно можно выразиться. Приношу свои извинения!
Я понимаю назначение переменной size, я имел в виду ее начальное значение, которое равно 4096. Хотел понять, что означает это конкретное число.
ответить
From Andrey V. Stolyarov Mon Jul 29 13:49:06 2024 UTC
Re: Отображаение содержимого файла в память
Строго говоря, оно означачает само себя, 2 в 12 степени, известное также (в применении к памяти) как 4KB :-) Почему именно такое? Потому что страницы виртуальной памяти чаще всего такие, это если говорить о том, почему я именно такое число выбрал. Но фрагмент написан так, что там можно подставить любое число, лишь бы больше нуля и не слишком большое (я, кстати, не пробовал делать отображения размером больше, чем сам файл; хотите — попробуйте сами).
ответить
☞ From Sergei (unverified) Tue Jul 23 13:53:37 2024 UTC
Система "Антиплагиат" в ВУЗах
Как вы относитесь к системе "Антиплагиат" в ВУЗах? Вы сталкивались, что научрук, без ведома написавшего какую-либо работу (диплом, например), прогоняет её через систему "Антиплагиат", в т.ч. не только вузовскую, но и не понятно какую на просторах Интернета? Является ли это насилие законным? (для меня это насилие по отношению ко мне). Как вы считаете, нужны ли такие системы? Если вы согласны, что они нужны, то поделитесь вашим вИдением организации процесса предотвращения плагиата. А может диплом и подобное вообще не нужно?
ответить
From Andrey V. Stolyarov Wed Jul 24 04:06:54 2024 UTC
Re: Система "Антиплагиат" в ВУЗах
Несомненно, прогонять работы через антиплагиат нужно и необходимо, а студентов, которые уличены в плагиате, следует немедленно отчислять без возможности восстановления; больше того, должна быть глобальная база данных по таким отчисленным, чтобы больше ни в какой ВУЗ такую мразь не взяли. Скажу ещё больше: таких руководителей, которые не заботятся об оригинальности квалификационных работ студентов, надо увольнять с волчьим билетом.
А лично к вам будет предложение свалить отсюда и больше не возвращаться. Крайне серьёзное.
ответить
From Anon (unverified) Wed Jul 24 06:05:35 2024 UTC
Re: Re: Система "Антиплагиат" в ВУЗах
Андрей Викторович, интересно узнать ваше видение проблемы сгенерированных нейросетью дипломов. Антиплагиатом, ясное дело, такое определить невозможно. В этом году они добавили некие проверки, но работают они очень криво и никто на результаты таких проверок не смотрит (и правильно делают, у меня страниц 10 забраковали, хотя писал я всё честно).
Конечно, если научрук действительно работал со студентом, ему, скорее всего, очевидно будет, что студент текст сгенерировал, но далеко не все научруки ответственно подходят к своей работе. Находишь формального науча, генерируешь диплом, вообще ничего не зная и не понимая, и успешно защищаешься (с кандидатской вряд ли прокатит, но бакалавр-магистратура вполне, своими глазами такое видел).
ответить
From Andrey V. Stolyarov Wed Jul 24 10:32:06 2024 UTC
Re: Re: Re: Система "Антиплагиат" в ВУЗах
> Конечно, если научрук действительно работал со студентом, ему, скорее всего, очевидно будет, что студент текст сгенерировал,
Вот именно.
> но далеко не все научруки ответственно подходят к своей работе
Проблема исключительно в этом. А как её решать и возможно ли это вообще — вопрос, который меня беспокоил, пока я ещё работал в этой системе, но сейчас, честно говоря, я предпочитаю считать, что это всё не мои проблемы.
Вот что я точно могу сказать — это что высшее образование не может быть массовым. Точнее, оно не может одновременно быть массовым и при этом не быть профанацией. То, что есть сейчас — это процентов на 97 именно профанация с конвейерами по производству обладателей "учёных степеней", которые при этом к реальной науке никакого отношения не имеют. Но возникновение таких конвейеров — лишь следствие "потребности" в большом количестве лекторов для (псевдо-)ВУЗов, большом настолько, что реальными учёными его и на считанные проценты не закрыть.
ответить
From Anonymous (unverified) Wed Jul 24 06:38:14 2024 UTC
Re: Re: Система "Антиплагиат" в ВУЗах
Я не автор исходного коммента, но есть возражения:
1) А есть ли свободная, работающая на линуксе локально без доступа в инет система антиплагиат? Проприетарную использовать нельзя по тем же причинами, что любой другой проприетарный софт.
2) А есть ли гарантия, что срабатывание этой системы на работе студента означает, что там имеет место плагиат? Я очень сомневаюсь, что возможно написать компьютерную программу, обнаруживающую плагиат со 100% достоверностью без ложноположительных результатов.
3) Иногда в самой работе по своей сути будет значительный кусок, содержащий пересказ какой-то другой работы. Например моя первая курсовая работа была связана с написанием программы, решающей систему линейных уравнений методом Гаусса. Первая версия работы состояла из двух листов. Один лист титульный, второй — половина листа сама программа, вторая половина — дамп из терминала, доказывающий что она правильно работает.
Преподаватель такую работу почему-то не принял. Я посмотрел как сделано у одноклассника. У него там была вода на тему в каком году родился Гаусс, чем он знаменит, в чём заключается решение системы уравнений его методом и тд. Ну и ещё блок-схема.
Самое сложное для меня было — это блок-схема. Я и тогда не понимал и сейчас не понимаю, нафига она нужна, если я уже написал программу и она уже работает, а при написании мне проще формулировать алгоритм сразу в виде кода, а не в виде рисунка, но кое-как я её в каком-то графическом редакторе накорябал.
Но вот часть про то кто такой Гаусс и что у него за метод я просто скопировал у одноклассника. Может ещё пару косноязычных предложений подправил местами, не помню точно. А он скорее всего скопировал с какого-то интернет-сайта. Это плагиат? Наверное. Но я в упор не видел смысла вручную переписывать то же самое своими словами, да и мне никто не упоминал, что нужно своими словами. И что, меня за это надо было отчислить?
На втором курсе кстати в курсовой должна была быть программа на ассемблере, и из всей группы её написал только я. Остальные передрали, только заменив названия регистров. Тогда кого надо было отчислить? Всю группу?
Кстати, программу для метода Гаусса я тоже не совсем сам писал. Я нашел в инете программу на паскале и переписал её на QBasic, на котором требовалось сдавать на первом курсе (паскаль тоже был, но позже). Это был плагиат? Не знаю.
Кстати, что такое плагиат и чем он плох не объясняли ни на первых курсах университета (на каком-то курсе был предмет "основы интеллектуального права" или что-то вроде, но уже позже и там было бла-бла про "интеллектуальную собственность"), ни в школе. Так откуда мне было вообще знать, что скопировать половину курсовой у однокурсника - это что-то плохое?
На самом деле впервые я про отличия плагиата и нелицензионного копирования прочитал как раз в ваших статьях.
ответить
From Andrey V. Stolyarov Wed Jul 24 11:00:02 2024 UTC
Re: Re: Re: Система "Антиплагиат" в ВУЗах
> 1) А есть ли свободная, работающая на линуксе локально без доступа в инет система антиплагиат?
Понятия не имею. Если нет — значит, надо сделать.
> 2) А есть ли гарантия, что срабатывание
Нет, но это и не нужно. Прежде чем принять решение о "гражданской казни", которое предлагаю я, следует, естественно, посмотреть глазами текст работы, проходившей проверку, и тексты, на которые "антиплагиат" показал как на являющиеся источником. И делать это надлежит не одному человеку, а нескольким, специально для этого назначенным. При таком чтении не останется никаких сомнений, имеют ли место реально содранные куски текста, при этом не закавыченные и не снабжённые ссылкой.
Роль систем "антиплагиат" в этом процессе — зажечь сигнальную лампочку и показать, куда смотреть.
> Например моя первая курсовая работа была связана с написанием программы, решающей систему линейных уравнений методом Гаусса.
СЛАУ методом Гаусса? Курсовая?! Дальше уже не интересно, тут разгонять нужно ваших "преподавателей". Скорее всего, весь ВУЗ закрывать.
> И что, меня за это надо было отчислить?
Несомненно. Вы выдали чужой текст за свой, причём сделали это сознательно. Но тут вопрос, что первично: сам факт существования ВУЗов, профанирующих высшее образование, или то, как в таких ВУЗах ведут себя студенты. Судя по СЛАУ Гауссом в качестве курсовой, для начала никто не должен был вас (и вообще никого) принимать в этот горе-ВУЗ и говорить при этом, что вам будут там давать высшее образование. Заведения такого уровня должны называться как максимум "колледжами", диплом после них должен быть о среднем специальном, и там не должно вообще быть курсовых и дипломных работ.
> На самом деле впервые я про отличия плагиата и нелицензионного копирования прочитал как раз в ваших статьях.
Ликбез на эту тему — вопрос важный, но это другой вопрос. Впрочем, взять откуда-то текст и заявить, что сам его написал — ну тут как минимум факт заведомого вранья вроде бы очевиден, не?
ответить
From Anonymous (unverified) Wed Jul 24 12:25:17 2024 UTC
Re: Система "Антиплагиат" в ВУЗах
> СЛАУ методом Гаусса? Курсовая?!
На первом курсе в первом семестре, если что. То есть это когда проходят линейную последовательность операторов, ветвление, циклы и так далее. На самом деле сомнительная ценность, потому что это всё уже в школе проходили, только на паскале, а тут был почему-то BASIC. Но может и не все проходили, я-то учился в классе с углубленным чем-то там.
А какая по-вашему должна быть приблизительно тема курсовой в конце этого семестра?
> Несомненно. Вы выдали чужой текст за свой, причём сделали это сознательно.
Насчёт "сознательно" я не уверен. У меня не было осознания, что этот текст надо писать самому, и что он вообще нужен. Просто были какие-то требования к минимальному числу страниц, полям, шрифту, междустрочному интервалу и так далее. Если их выполняешь — уровень пройдён. Если нет — переделывай.
А вы думаете, студент должен сам писать даже вот такое, вроде когда родился и умер Гаусс, или допустимо скопипастить параграфы из какой-нибудь книги или статьи, дав на неё ссылку в списке литературы?
Кому какая польза от того, что студент своими словами перепишет биографию Гаусса?
> взять откуда-то текст и заявить, что сам его написал — ну тут как минимум факт заведомого вранья вроде бы очевиден, не?
Ну, я этого не говорил и никто не спрашивал. Можно возразить, что раз он есть в работе и не закавычен, то подразумевается, что я его сам писал, но я тогда об этом как-то вообще не думал. Если бы думал, наверное поставил бы ссылку на курсовую работу однокурсника. Интересно, как бы препод отреагировал?
------------
А что делать тогда со школьниками, которые списывают домашку с ГДЗ? Тоже сразу выгонять? Когда я учился в школе их ещё не было, но сейчас так вроде чуть ли не больше половины делают.
Кстати, что интересно, я как раз никогда не списывал в школе, но не потому что я это считал обманом, а потому что мне прямо очень сильно лень писать было и если я что-то делал/решал сам, то я всегда писал кратко, а другие одноклассники длиннее. Поэтому для меня было бы более мучительно списать, чем сделать самому. Да и ещё одноклассник мог и неправильно что-то решить, а перепроверять за ним ничуть не проще, чем решить самому.
ответить
From Andrey V. Stolyarov Wed Jul 24 13:00:12 2024 UTC
Re: Re: Система "Антиплагиат" в ВУЗах
> На первом курсе в первом семестре, если что.
Час от часу не легче. Курсовая — это вид квалификационной работы, какая в задницу может быть квалификация на первом курсе? Ни на первом, ни на втором не должно быть ничего, называющегося "курсовая работа", первая курсовая должна выполняться, когда уже прошло распределение по кафедрам и спецсеминарам, назначены научные руководители и эти руководители успели сформулировать каждому студенту, каково у него будет направление исследовательской работы и про что (приблизительно) будет диплом.
Точно ваш ВУЗ разогнать надо к чертям.
> Но может и не все проходили,
Даже на первый курс ВМК МГУ большинство вчерашних абитуриентов приходит, не умея программировать вообще от слова совсем, так что тут не "может", тут "совершенно точно".
> А вы думаете
Я не "думаю", я точно знаю: любая квалификационная работа должна выполняться полностью самостоятельно, за любое отклонение от этого должна наступать секир-башка если и не в прямом смысле, то как минимум в виде полного исключения возможности получения диплома о в/о.
> Кому какая польза от того, что студент своими словами перепишет биографию Гаусса?
Начать тут надо с того, что нет и не может быть никакой пользы в таких якобы-квалификационных работах, где ради того, чтобы пустышка перестала выглядеть пустышкой, зачем-то приходится расписывать биографию Гаусса.
Но, с другой стороны, если по каким-то причинам (неважно, мало ли) какой-то текст, пусть даже это биография Гаусса, включён в квалификационную работу, то автором этого текста должен быть автор всей работы. В конце концов, даже просто умение писать тексты как таковое тоже является частью квалификации.
> наверное поставил бы ссылку на курсовую работу однокурсника
Вы понимаете вообще, что такое цитирование? Ссылка сама по себе извинением не является, правильное цитирование — это когда в тексте работы написано приблизительно так:
Т.е. цитируемый фрагмент, во-первых, оформлен как цитата, обрамлён кавычками и в зависимости от требований к оформлению может быть выделен шрифтом. Во-вторых, цитата органично вписана в общий текст, т.е. в основном тексте её роль (именно как цитаты) явным образом обозначена. И только в-третьих, таки да, ссылка, откуда взяли.
Если первых двух пунктов нет, т.е. просто кусок текста скопипизжен откуда-то, а потом по принципу "подавитесь" в список литературы включён источник, на который (скорее всего) в тексте работы даже нет ссылки как таковой (ссылка — это здесь вот это вот "[3]"), то плагиат останется плагиатом, а работа к тому же перестанет быть правильно оформленной, поскольку список литературы обязан состоять именно что из ссылок, а не из произвольно надёрганных библиографических данных от рандомных публикаций.
> я тогда об этом как-то вообще не думал
Это не имеет прямого отношения к делу. С таким же успехом какой-нибудь киллер мог бы заявить, что просто делал свою работу, а что это же вообще-то убийство — ну, он об этом как-то вообще не думал.
А вот опосредованное отношение, кстати, имеет. Если за каждый факт плагиата будет реально жёсткая секир-башка и вокруг будет до фига народу без диплома, жалующихся, что их "эти сволочи" за плагиат от образования отлучили — то вот таких "не думающих", подозреваю, не останется.
> А что делать тогда со школьниками
Понятия не имею. Что вообще делать со средней школой, где по факту не только выгнать (отчислить) нельзя, но даже двойку в четверти влепить? Я, честно говоря, не понимаю, как там вообще люди работают. И, главное, зачем.
ответить
From Anonymous (unverified) Wed Jul 24 14:26:25 2024 UTC
Re: Re: Re: Система "Антиплагиат" в ВУЗах
> первая курсовая должна выполняться, когда уже прошло распределение по кафедрам и спецсеминарам
А может просто разное понимание курсовой работы? В моём случае по сути это была просто относительно большая (не хелло ворд и не сумма массива, а что-то чуть сложнее) программа, написание которой в конце семестра наряду со сдачей экзамена доказывало, что студент что-то из первого семестра усвоил, наряду с "лабораторными", где как раз были простейшие программы, которые можно было написать за час работы. Такие работы были по одному какому-нибудь предмету в конце каждого семестра.
На ВМК ничего подобного не было, пусть и под другим названием?
Никаких кафедр и спецсеминаров не припомню, кстати. Вот научного руководителя назначили, но это было уже на пятом курсе и после всех курсовых. Ну и дипломный проект ничем исследовательским тоже не был, просто какая-то программа, которая якобы была внедрена в какой-то организации, написанная соискателем. Ну программа-то и правда была, но что ей в организации хоть кто-то пользовался после ухода студента, у меня огромные сомнения. Руководитель ничем не помогал, кроме оформления дипломной работы, типа вот тут шрифт не тот и так далее.
> Вы понимаете вообще, что такое цитирование? Ссылка сама по себе извинением не является, правильное цитирование — это когда в тексте работы написано приблизительно так
Ну то есть примерно как в википедии? Ещё бы мне это кто-то объяснил вовремя, а не после того как я всё уже закончил.
> вокруг будет до фига народу без диплома, жалующихся, что их "эти сволочи" за плагиат от образования отлучили — то вот таких "не думающих", подозреваю, не останется.
Ну тогда это как-то плавно должно вводиться, а не так что в школе и на первых курсах все друг у друга списывали и ничего за это не было, а в курсовой вдруг внезапно максимально жестко.
ответить
From Andrey V. Stolyarov Wed Jul 24 16:13:02 2024 UTC
Re: Система "Антиплагиат" в ВУЗах
> А может просто разное понимание
Разумеется, разное. Но исходное (и, соответственно, правильное) — это когда курсовую рассматривают как некую репетицию диплома, учат, в частности, правильно оформлять научную работу, те же ссылки правильно указывать.
Если "курсовая" превращается в подобие отчёта о сделанном задании, а само задание полностью лишено даже намёков на новизну — это уже вообще не "работа", это именно что отчёт. А ещё курсовая работа не может быть "по какому-то предмету", это должна быть именно самостоятельная исследовательская работа, выполненная под руководством научного руководителя.
> На ВМК ничего подобного не было, пусть и под другим названием?
На ВМК никогда (ну, во всяком случае в бытность мою там, т.е. с 1992 по 2022 г., но по-моему всё-таки именно никогда) не было ничего похожего на "лабораторные работы", поскольку таковые в применении к программированию бессмысленны. В каждом семестре, начиная с осени первого курса и заканчивая предпоследним семестром, есть отдельный предмет, который называется "практикум на ЭВМ" и заканчивается зачётом с оценкой (т.е. сдаётся в зачётную сессию, но ставится по нему не "зачёт/незачёт", а именно оценка — "отл", "хор", "уд" или "неуд"). Этот предмет иногда содержит написание мелких программ для тренировки, но в основном построен вокруг написания программ не так чтобы больших, но таких, которые ни за час, ни за день, а чаще и за неделю не сделаешь. И я никогда не слышал, чтобы кроме собственно программ, там требовали ещё какие-то отчёты.
Обычно практикум в текущем семестре делается в поддержку очередного программистского лекционного курса, но не всегда. Формально это совершенно разные предметы.
По некоторым лекционным курсам, особенно когда они без семинаров (на старших курсах такое, к сожалению, не редкость), иногда требуется написать программу и снабдить её письменным отчётом, но никто никогда не называет такие штуки "курсовыми работами", и никто никогда не требует туда засовывать биографию Гаусса и прочие подобные "затычки".
> Никаких кафедр и спецсеминаров не припомню, кстати.
Ух... точно по вашему ВУЗу разгонятор плачет. Впрочем, как и по большинству существующих ВУЗов. Я как-то поработал по совместительству пять лет в ВУЗе "третьего эшелона", вот там да, и лабораторки были, и на плагиат никто внимания не обращал, и вообще там в основном студенты делают вид, что учатся, преподы делают вид, что учат, на третьем курсе якобы-программистской специальности из 30 студентов хорошо если двое или трое могут массив пузырьком отсортировать, остальные не то что не могут, а скорее не понимают, что такое массив.
По специальности, к счастью, никто из выпускников не работает, и именно к счастью, потому что от таких "специалистов" вреда намного больше, чем пользы.
Вот кто бы мне сказал, зачем там, во-первых, эти студенты время теряют, как будто им просранные впустую годы жизни потом кто-то вернёт, а во-вторых, какого дьявола на это тратятся бюджетные деньги.
> Ну программа-то и правда была, но что ей в организации хоть кто-то пользовался после ухода студента, у меня огромные сомнения.
Правильные сомнения. Тут я вам такую вещь скажу, под моим руководством одних только дипломных работ, посвящённых библиотеке InteLib, было сделано несколько десятков, но в итоге только от двух, если не ошибаюсь, студентов остались хоть какие-то следы в коде самой библиотеки, ещё от одного осталась система Makefile'ов, которую, похоже, всё-таки придётся выпилить, потому что она получилась слишком замороченная. И ещё от двух есть дополнения (реализация на базе InteLib Рефала и Плэннера), которые в основную библиотеку я не включаю, поскольку поддерживать этот код не готов.
А это мало того что ВМК, это ещё и весьма отборные студенты, поскольку ко мне под руководство кто попало бы не пошёл, ибо не самоубийцы.
> Ну то есть примерно как в википедии?
Ну не совсем, мягко говоря. Во-первых, это не цитировать надо "как в википедии", это в Википедии правила цитирования такие же, как в научных работах (да и вообще в любых текстах).
Во-вторых, Википедия — это совершенно другой жанр. Для начала там запрещены (вот буквально запрещены правилами) оригинальные исследования, так что статья на Википедии — это не "работа" в научном смысле, а скорее некий реферат. Кроме того, там изначально подразумевается коллективное авторство, в самих статьях авторство не указывается, есть, конечно, история правок, но это ещё надо знать, куда лезть и зачем. Т.е. википедийная статья — это (по замыслу создателей Википедии) не авторская работа, а некий плод коллективного творчества, и даже не совсем творчества. Т.е., в отличие от научных (в том числе квалификационных) работ, где авторство имеет первостепенное значение, в Википедии авторство формально соблюдается (известно, кто что написал), но всячески подчёркивается, что это не так важно.
> Ну тогда это как-то плавно должно вводиться
Не думаю, что процедура такого рода может быть "плавной".
ответить
From Anonymous (unverified) Wed Jul 24 21:48:02 2024 UTC
Re: Re: Система "Антиплагиат" в ВУЗах
> Не думаю, что процедура такого рода может быть "плавной".
Ну не должно быть так, что студент даже не знает такого слова "плагиат" и ему никто толком не рассказывал про правила цитирования и вдруг внезапно его резко отчисляют за нарушение этого самого, да ещё и без возможности восстановления.
Всё-таки тогда уж научный руководитель, если обнаружил нарушения в этом плане, должен их внятно объяснить, и так прямо и сказать "Всё где не стоит ссылка на источник и знак цитаты, должно быть написано тобой, это обязательное и очень важное требование, а коли не выполнишь, тогда тебя отчислят. Иди переделывай".
Да и вообще, коли это становится прямо настолько важным, может даже должен быть отдельный предмет на первом курсе про правила оформления научных работ с объяснением, почему правила именно такие, а не просто тупым заучиванием.
> Вот кто бы мне сказал, зачем там, во-первых, эти студенты время теряют
Так почти на всех вакансиях требуют, чтобы было высшее образование. Разве что кассиром можно без ВО устроиться. А ещё студентам никто не объясняет, что не все ВУЗы одинаково полезны и они искренне думают, что получают настоящее высшее образование как минимум до какого-нибудь третьего курса или около того.
Да и родители на мозги капают в стиле "поступай в университет, а то бомжом будешь". По идее вроде уже 16+ лет человеку, он школу закончил, уже жениться можно, а по факту он может даже в общественном транспорте ни разу один не ездил и про взрослую жизнь знает только по слухам.
> какого дьявола на это тратятся бюджетные деньги.
А ещё получается, что если студент на бюджете закончил такой ВУЗ, то в нормальный можно поступить только за деньги.
> не было ничего похожего на "лабораторные работы", поскольку таковые в применении к программированию бессмысленны.
Ну вот как раз так назывались программы, которые нужно было сделать по заданию преподавателя, а затем оформить в виде отчёта. Тут к счастью две-три страницы было достаточно - сама программама и лог её тестировния из терминала (или со скриншотами, если GUI) с пояснениями.
> в основном построен вокруг написания программ не так чтобы больших, но таких, которые ни за час, ни за день, а чаще и за неделю не сделаешь.
Нужно иметь немалую дисциплину, чтобы над одной задачей работать больше недели. У меня вот такой не было. Например через три дня надо уже курсовую сдавать, на которую вообще-то полгода даётся, а я даже не начинал. И тут я за один день писал программу, на следующий день писал текст и на третий день уже защищался на "отлично".
А можно пример задания для такой программы, на первом-втором курсе?
> А ещё курсовая работа не может быть "по какому-то предмету", это должна быть именно самостоятельная исследовательская работа, выполненная под руководством научного руководителя.
Ну, из моих работ чуток новизны в парочке было. Ну не то что бы прямо настоящей научной ценности, но как минимум тему я выбирал сам и делал что-то не совсем стандартное. Хотя правильного оформления списка литературы и ссылок и там не было, но я просто не понимал зачем это всё нужно.
ответить
From Andrey V. Stolyarov Wed Jul 24 22:43:52 2024 UTC
Re: Re: Re: Система "Антиплагиат" в ВУЗах
> не должно быть так, что студент даже не знает такого слова "плагиат"
Вообще-то в норме не должно быть так, что кто бы то ни было, отнюдь не только студент, вдруг не знает слова "плагиат" или тем паче путает плагиат с нарушением авторских прав.
Но в норме много чего быть не должно. Не должно быть так, что выпускник 11 класса не понимает, что такое умножение, то есть выполнить его может быть даже и может, ну там столбиком, вот это всё, но в упор не чувствует, зачем эта операция нужна. Таких сейчас процентов 97-99, точнее оценить не возьмусь.
Не должно быть людей, не понимающих, что программы на компьютере какие попало запускать не надо — примерно так же, как не должно быть людей, не понимающих, что после туалета надо бы руки помыть. Таких вообще все сто, те, кто в их число не входят, оказываются в рамках статистической погрешности.
Я уж не говорю о том, что случаи функциональной безграмотности (это когда человек может текст с бумаги прочитать вслух, но патологически не может из этого текста извлечь никакой пользы, т.е., например, ему бесполезно давать письменные инструкции, он просто не понимает смысла письменного текста, хотя может его сам прочитать; вот если ту же самую инструкцию ему торжественно зачитать вслух, как детям сказки на ночь читают, тогда он что-то поймёт) — вот такое в двадцать первом веке не в какой-нибудь горной деревне, а в центре Москвы — это нонсенс.
Да, мне и такое попадалось. Впечатление жутковатое. Таких, к счастью, всё-таки не очень много. Но есть.
> Всё-таки тогда уж научный руководитель, если обнаружил нарушения в этом плане, должен их внятно объяснить,
Я бы сказал, что это нужно объяснять до того, как что-то такое будет обнаружено. Заранее. И как можно более доходчиво.
> А можно пример задания для такой программы, на первом-втором курсе?
В задачнике см. задачи 4.36, 4.37, 4.38 (это так называемый первый этап), 5.15, 5.16 (это второй этап), 5.17 (третий этап), 5.19 (четвёртый этап), 5.31, 5.32 (пятый этап), 5.36, 5.39, 5.40 (факультативные дополнения). Собственно, вот это я в третьем семестре использовал почти двадцать лет. По каждому этапу устанавливались свои сроки сдачи, что несколько снижало проблемы с самодисциплиной (которые да, есть, практически у всех).
Плюс к тому в том же третьем семестре игровой сервер (см. методичку, первая, вторая и третья главы), но это уже для желающих пятёрку получить.
В четвёртом семестре задание было одно на весь семестр, тоже с этапами, но тут показать разбивку на этапы с ходу не могу, а вот целиком оно описано в той же методичке, гл.4. Только примите во внимание, что эту методичку (в отличие от задачника) я писал в 2005 году, когда был ещё молодой и глупый и много чего не понимал. Уже примерно в 2008 году (и дальше каждый год) приходилось студентам объяснять, что вот тут и вон там в методичке написана полная лажа, так что так не делайте, а делайте вот так.
ответить
From Anonymous (unverified) Thu Jul 25 00:11:38 2024 UTC
Re: Re: Re: Re: Система "Антиплагиат" в ВУЗах
Ну вот это и есть примерно уровень того что у нас было бы курсовой работой. На втором курсе было задание сделать программу с псевдографическим меню, котороое бы позволило вести простенькую базу данных с пунктами меню для просмотра, добавления и удаления записей. Я сказал, что вместо этой хрени буду делать интерпретатор языка программирования (простенького конечно) и препод даже согласился. Вся остальная группа городила "базу данных". Это одно из тех двух заданий, где я считаю что это тянет на небольшую новизну.
В случае шелла, я бы сделал, чтобы нечётное количество кавычек включало перевод строки в состав следующего слова, а не вызывало ошибку, как и в настоящем шелле. Интересно, за это бы автор поругал или похвалил? Вроде и не строго по заданию, а вроде даже и лучше.
ответить
From Andrey V. Stolyarov Thu Jul 25 00:59:02 2024 UTC
Re: Система "Антиплагиат" в ВУЗах
> Ну вот это и есть примерно уровень того что у нас было бы курсовой работой.
Подобное не имеет права называться курсовой работой, поскольку задание даётся одно и то же из года в год и никакой новизны не предполагает. Кроме того, требовать в дополнение к подобному заданию ещё какой-то отчёт в виде текста — это бессмысленная имитация кипучей деятельности. Какой-то смысл в подобных заданиях есть исключительно в случае, если задание принимается лично, и в ходе его сдачи тщательно проверяется, является ли сдающий реально автором программы (владение кодом, вот это вот всё); когда требуют письменный отчёт, обычно им и ограничиваются.
И, пожалуй, мне это пустопорожнее обсуждение надоело.
Ах, да, раз уж спросили — любые сознательные модификации задания я всегда приветствовал (если только они не снижали его сложность в разы, и/или не устраняли из задания как раз того, на что оно давалось), на такие вещи накладывалось только одно условие: предварительно любое изменение задания со мной обговорить. Впрочем, это уже к обсуждению никакого отношения не имеет. Всё, тема закрыта.
ответить
From Artem (unverified) Wed Jul 24 16:14:04 2024 UTC
Re: Re: Re: Система "Антиплагиат" в ВУЗах
> Курсовая — это вид квалификационной работы
И вот тут меня заинтересовал этот вопрос, я полез в интернет и, честно говоря, ничерта не понял, хотя уже сдал две стопки бумаги, озаглавленные "Курсовой проект" (обе на 2 курсе). Непонятно, что такое курсовая работа, курсовой проект, квалификационная работа, в разных местах всё противоречит друг другу. И если курсовая это квалификационная, то разве по итогам её защиты присваивается квалификация? Или что к чему...
И насчёт распределения по кафедрам не понял. У нас с самого поступления каждое направление приписано к кафедре и остаётся на ней до самого выпуска. Распределение на 3-4 курсе есть, но кафедра всё равно одна. Хотя это, возможно, из-за того, что у нас вообще нет такой ступени, как факультеты.
ответить
From Andrey V. Stolyarov Wed Jul 24 16:32:03 2024 UTC
Re: Re: Re: Re: Система "Антиплагиат" в ВУЗах
> то разве по итогам её защиты присваивается квалификация?
Нет, почему. Термин "квалификация" несколько омонимичен. "Присвоение квалифкации" — это когда человеку выдают некую бумажку, что он теперь якобы может что-то такое, чего раньше не мог (или мог, но этого никто не знал). А есть ещё "подтверждение квалификации", когда человек каким-то образом доказывает, что соответствует определённым требованиям. Квалификационные работы — про второе, не про первое: нельзя прийти с улицы с дипломной работой, защитить её и на основании этого получить диплом, т.е. квалификация присваивается (что бы там ни писали во всяких "положениях") не по итогам защиты квалификационной работы, а по итогам обучения в ВУЗе. Для случая учёных степеней — конечно, уже не обучения, а проведённых исследований.
А ещё бывает "повышение квалификации", которое ни к присвоению, ни к подтверждению никакого отношения не имеет.
> каждое направление приписано к кафедре и остаётся на ней до самого выпуска
Совершенно отвратительно. Когда абитуриент поступает на первый курс, никто (ни он сам, ни кто-то ещё), никаким способом, вообще никак не может определить, в какую сторону данному конкретному персонажу следует развиваться, чтобы получилось что-то осмысленное.
На том же ВМК, если как-то "не очень задалось" с программированием, можно пойти на одну из математических кафедр, а если "как-то не очень" с математикой — наоборот, пойти на программистскую (их тоже несколько), если же ни то, ни другое не пошло — ну, есть ещё всякие варианты вроде "Оптимального управления" или там "Исследования операций" (чтоб было понятно, там где-то ещё всякая финансовая математика пробегает, и прочее в таком духе). А распределение происходит после двух курсов, когда уже человек вполне может оценить, что у него получается нормально, а что идёт через гадину.
Когда "направление" определяется сразу после поступления, на выходе ничего хорошего не будет.
ответить
From Parthen (unverified) Wed Jul 24 15:14:51 2024 UTC
ГДЗ
>Когда я учился в школе их ещё не было, но сейчас так вроде чуть ли не больше половины делают.
Половина? Так делают (почти) ВСЕ, в лучшем случае девочки-отличницы на основе готового решения придумывают своё.
Тот объем домашки, которые учителя вешают на учеников самостоятельно выполнять нереально. Особенно учитывая то, что эта самая домашка на оценки влияет примерно никак (для справки: информатику в течение всей школы весь класс списывал у меня, при этом я чуть ли не единственный сидел с тройкой в четверти).
Причем эти самые оценки это форменный цирк, потому что они не влияют ни на что (даже в аттестат выставляется не среднее со всех годов обучения, а только последнего), при этом сам аттестат вообще не влияет на поступление в ВУЗы.
ответить
From Andrey V. Stolyarov Wed Jul 24 16:20:20 2024 UTC
Re: ГДЗ
Ну, в школе всегда всё было плохо, а сейчас стало совсем отвратительно. Это в целом не новость.
Итить-колотить, а чего вы хотели, когда сначала примерно с 1950-х готов по меньшей мере педагогические "ВУЗы" комплектовались по остаточному принципу, т.е. туда шли те, кто больше ни на что не годен, а в последние годы борцуны за "инклюзивность", а также со всяким "унижением учеников" и прочей "педофилией" разогнали из школ последних осмысленных педагогов.
Только не спрашивайте меня, что теперь делать. Теперь уже, наверное, ничего. Поздно.
ответить
From Artem (unverified) Wed Jul 24 16:23:41 2024 UTC
Re: ГДЗ
> при этом сам аттестат вообще не влияет на поступление в ВУЗы
Имею наглость заявить, что это даже хорошо. Современные школы это далеко, очень далеко не то же самое, что дореволюционные гимназии, чей аттестат был гарантированным пропуском в любой вуз страны. Вступительные экзамены в вузы потому и появились, что высшее образование портилось гораздо дольше и неохотнее, чем среднее.
ответить
From Andrey V. Stolyarov Wed Jul 24 16:40:13 2024 UTC
Re: Re: ГДЗ
Портилось оно, конечно, дольше и неохотнее, но ЕГЭ это дело довершил.
ответить
From Anonymous (unverified) Thu Jul 25 00:22:29 2024 UTC
Re: Re: Re: ГДЗ
Если ЕГЭ - это так плохо, почему тогда его вводят вообще везде, не только в России, но и на Украине, в Белоруси, в США (ACT и SAT - оба для одного и того же, но не государстенные а от частной лавочки. Какие-то вузы принимают один из двух, какие-то оба, какие-то только свой вступительный), в Казахстане, да вроде и в других странах тоже?
ответить
From Andrey V. Stolyarov Thu Jul 25 00:49:33 2024 UTC
Re: ГДЗ
> Если ЕГЭ - это так плохо, почему тогда его вводят вообще везде
А почему на всех компах USB, хотя сама его идея абсолютно дебильна? А почему среди всех разъёмов того же USB вендоры выпилили все, кроме самых хрупких и ненадёжных (microUSB и USB-C)? А почему из всего зоопарка процессоров и их систем команд, существовавшего на рубеже веков, выжила именно линейка x86, обладающая самой дебильной и хаотичной системой команд в истории? А почему Windows до сих пор на больше чем 90% компьютеров конечных пользователей? А почему автомобили раньше делали нормально, а сейчас делают из говна и палок? И это вообще-то в любой области человеческой деятельности происходит именно так: из всех возможных решений выживает самое дебильное, качество практически любых товаров и услуг деградирует со временем, etc.
Конкретно по ЕГЭ: вы что, всерьёз полагаете, что те, кто имеет возможность влиять на принимаемые решения, заинтересованы в том, чтобы система образования выпускала людей, умеющих думать?
Как дети, чесслово (tm)
И, кстати, давайте-ка отсюда, быстренько. Вы где-то по пути ошиблись дверью, вам не сюда.
ответить
From Anonymous (unverified) Wed Jul 24 22:26:46 2024 UTC
Re: ГДЗ
> в лучшем случае девочки-отличницы на основе готового решения придумывают своё.
А почему обязательно девочки? Мальчики не могут быть отличниками или не могут придумать своё решение, или наоборот не смотрят в ГДЗ совсем?
> Тот объем домашки, которые учителя вешают на учеников самостоятельно выполнять нереально.
Ой, да ладно. Я тут местами слежу за средним образованием одного ученика. Заданий ровно столько же, сколько задавали мне во времена до распространения ГДЗ. Я же как-то справлялся.
Единственное, на мозги капали родители сразу после прихода из школы, чтобы я делал ДЗ, а я его всё равно делал не сразу, а в последний момент, когда уже спать надо было. В итоге ДЗ хоть и сделано, но нервы испорчены. Хотя могли бы не доставать с этим ДЗ, ну подумаешь пару раз не сделал бы его. Учителя бы отругали и начал бы делать. А может без такого внешнего давления я бы ещё и научился сам планировать, когда нужно начинать делать ДЗ, чтобы и его успеть сделать и после школы хоть как-то отдохнуть.
> Особенно учитывая то, что эта самая домашка на оценки влияет примерно никак
А она и не должна на самом деле. Домашние задания нужны чтобы ученик закрепил полученные на уроке знания и лучше понял материал. А на оценки они влиять не должны хотя бы потому, что проконтролировать, сам ученик делает что-то дома или за него делают родители, старший брат, одноклассник, автор ГДЗ и тд невозможно.
> Половина? Так делают (почти) ВСЕ
Так до ГДЗ чтобы списать нужно было как-то договориться с одноклассником, как-то встретиться и так далее. ГДЗ технически намного проще — зашел на сайт, а там решение любого номера уже расписано, а для каких-то заданий есть даже видео-ГДЗ где учитель решает задание на доске и разъясняет что и как.
Понятно, что если ученики были готовы приложить усилия чтобы найти подходящего одноклассника, встретиться, списать, то они и подавно будут готовы зайти на сайт и списать оттуда. А так как это технически проще сделать, то и списывать будет больший процент учеников.
Против ГДЗ можно предложить кастомные задания, которые раздаются на бумажных распечатках. Но так сейчас нейронки развиваются. Скоро уже можно будет просто навести камеру телефона на задание и на экране появится готовое решение по школьным стандартам. Точнее такое уже сейчас есть, но где-то четверть заданий решает неправильно. Ну так чуть-чуть поднажмут и оно будет решать всё лучше, чем средний отличник.
И ладно ещё домашние задания, ученики ведь и на уроки смартфоны носят. А если там инет, так они могут прямо на уроках с ГДЗ списывать. А с нейронкой так они и контрольные, составленные учителем из головы смогут списать.
ответить
From Parthen (unverified) Thu Jul 25 04:28:18 2024 UTC
Re: Re: ГДЗ
>А почему обязательно девочки?
Не знаю. Но в трех классах, где я учился, стереотипными пай-отличницами были девочки, парни-отличники (включая меня) постепенно забивали на это всё.
>Я же как-то справлялся.
Мы страдали, вы страдайте. Ну, то есть у вас может и получалось, а я лично в школьные будни не мог делать ничего хоть сколько-то включающего мозги. Тут либо в школе думать, либо дома.
Но я в физмате учился, может в этом дело.
>Единственное, на мозги капали родители сразу после прихода из школы
Я лично делал проще: вставал пораньше и делал перед школой. Ограниченное время заставляет работать, а не прокрастинировать, плюсом мозги еще школой не взбиты.
>Домашние задания нужны чтобы ученик закрепил полученные на уроке знания и лучше понял материал
Бред. Ну, то есть в ФГОСовских методичках так и написано (что я, не читал их что ли?), но по факту домашка это просто скидывание остаточных материалов с урока. А этот самый остаточный материал появляется из-за попытки впихнуть в бедную голову ученика материал, который за 30-40 минут урока впихнуть невозможно.
>ГДЗ технически намного проще — зашел на сайт, а там решение любого номера уже расписано А потом у тебя решение с половиной класса одинаковое. На побочные предметы сойдет, а на математике с русским влепят двойку обоим.
>Против ГДЗ можно предложить кастомные задания, которые раздаются на бумажных распечатках С изобретений GPT-3 про это можно забыть. Школьные задачки он щелкнет без проблем.
>Скоро уже можно будет просто навести камеру телефона на задание и на экране появится готовое решение по школьным стандартам. Точнее такое уже сейчас есть, но где-то четверть заданий решает неправильно.
"Оно" есть уже как лет 8, Photomath называется и прекрасно решает любые задания, уж средней школы точно. Я себя с помощью него проверял http://infoviolence.org/ytid.cgi?v=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Der7x11Nbi3I
А майкрософтский Math Solver, сделанный чутка попозже, позволял все это дело еще и рукописным вводом вводить.
ответить
From Andrey V. Stolyarov Thu Jul 25 09:14:43 2024 UTC
Re: ГДЗ
> по факту домашка это просто скидывание остаточных материалов с урока. А этот самый остаточный материал появляется из-за попытки впихнуть в бедную голову ученика материал, который за 30-40 минут урока впихнуть невозможно
Насколько я понимаю, это всё-таки самодеятельность отдельных учителей из спецшкол.
ответить
From Parthen (unverified) Thu Jul 25 16:28:46 2024 UTC
Re: Re: ГДЗ
Да я вроде в обычной школе учился, но работало именно так: есть задания на урок, сколько сделаем - сделаем, остальное на дом (поэтому не зевайте на уроке, меньше дома делать будете)
У кого-то было по другому?
ответить
From Andrey V. Stolyarov Thu Jul 25 16:30:58 2024 UTC
Re: ГДЗ
Я ничего подобного не помню, но я тут не показатель — школу я закончил 34 года назад.
ответить
From Anonymous (unverified) Thu Jul 25 12:22:11 2024 UTC
Re: Re: Re: ГДЗ
> Но я в физмате учился, может в этом дело.
Я тоже в физмате учился. Но для меня именно физика и математика были самыми лёгкими предметами, а больше всего напрягал английский. Физику я в рамках средней школы по книгам изучил ещё до шестого класса, когда она в школе появилась. Занимательная физика Перельмана, всякие энциклопедии по физике и астрономии с удовольствием читал. Математику про всякие темы вроде комплексных чисел я изучал ещё тогда, когда в школе ещё не давали даже отрицательных.
А вот квантовую физику и теорию относительности я как-то не осилил даже до сих пор, почему-то. Книги-то по ним читал конечно, но в голове представить как это пространство искривляется, а частица может быть одновременно волной у меня не выходило и так и не вышло. И соответствующий математический аппарат тоже как-то не осилил. Особенно мозги выносит то, что вращающийся объект каким-то образом заставляет само пространство-время вращаться или что-то вроде. Вот это вообще как?
Ну то есть посчитать что-нибудь по E=mc² или E=hν я конечно могу, но это же не равно пониманию теории относительности и квантовой механики.
> Я лично делал проще: вставал пораньше и делал перед школой.
Я бы может тоже так делал, но мне лично родители бы вынесли весь мозг раза по три, если у меня уроки на завтра не сделаны.
> А потом у тебя решение с половиной класса одинаковое. На побочные предметы сойдет, а на математике с русским влепят двойку обоим.
Да ладно? Как решение может быть разным? Ну то есть в мелких вариациях вроде оформления — конечно, а так в школьных задачах редко когда бывает больше одного способа решения, а даже если и бывает, их точно меньше чем человек в классе.
> "Оно" есть уже как лет 8, Photomath называется и прекрасно решает любые задания, уж средней школы точно.
Я пробовал только чато-гопоте давать математические и физические задания и оно каждый раз фейерически фейлилось даже на чём-нибудь простеньком. Единственная польза - она может подсказать какие конкретно формулы могут помочь для решения этой задачи, но и то их ещё надо перепроверить, поскольку оно формулу может запросто придумать, если её не знает.
ответить
From Parthen (unverified) Thu Jul 25 16:24:59 2024 UTC
Re: Re: Re: Re: ГДЗ
>Да ладно? Как решение может быть разным?
Я про оформление
ответить
From Anonymous (unverified) Fri Jul 26 04:23:52 2024 UTC
Re: Re: Re: Re: Re: ГДЗ
Ну это наверное надо быть совсем уж тупым, чтобы при переписывании решения не суметь даже просто расположить выражения чуток по-другому или что-то вроде.
Хотя какое там оформление, если уравнение, вроде каждый следующий шаг записывают под предыдущим и внизу должно быть x=... которое ещё можно подчеркнуть для наглядности.
ответить
From Andrey V. Stolyarov Fri Jul 26 09:22:35 2024 UTC
Re: ГДЗ
> надо быть совсем уж тупым
Как вы думаете, кем, например, надо быть, чтобы, когда тебе рассказывают про перестановки (в "терминах" бильярдных шаров на полочке), ну, типа, вот всего шаров семь, первый шар мы можем выбрать семью способами, и какой бы ни выбрали, в мешке останется шесть шаров, то есть на каждый вариант выбора первого шара есть шесть вариантов выбора второго шара — сколько всего будет вариантов на первые два шара? Ну, вот в мешке их семь, а на полочке два места, нужно какой-то слева и какой-то справа, сколько вариантов таких?
Да, так вот... как вы думаете, кем надо быть, чтобы эти 7 и 6 сложить (и получить 13 вариантов)? А я вам скажу, кем надо быть. Обычным таким школьником, даже не самым глупым на общем фоне. Ну то есть во всяком случае не производящим впечатление совсем тупого.
Частные уроки — лучшее средство избавления от веры в человечество.
ответить
From Anonymous (unverified) Thu Jul 25 12:39:22 2024 UTC
Re: Re: Re: ГДЗ
> А майкрософтский Math Solver, сделанный чутка попозже, позволял все это дело еще и рукописным вводом вводить.
Тупой калькулятор. В линуксе есть лучше, qalc причём не требует инета. Некоторые уравнения тоже решает.
Я ввёл в эту микрософтовскую поделку простейшее уравнение x^x^x=16 и он даже не смог дать ответ, хотя любой школьник с каплей мозгов это понял бы за секунду.
Если у вас на смартфоне есть Photomath или ещё какая поделка, попробуйте тоже башню степеней из трёх иксов равно 16 ввести. Мне почему-то кажется, что тоже не осилит.
ответить
From Parthen (unverified) Thu Jul 25 16:23:13 2024 UTC
Не осилило.
Но мне такие уравнения за всю школу не попадались. Вернее, попадались, я их устно решал, но в серьезных задачах такие башни не использовались
ответить
From Anonymous (unverified) Fri Jul 26 03:16:03 2024 UTC
Re: Не осилило.
Суть не конкретно в этом уравнении, а в том, что на данный ммоент у автоматических решалок мозгов всё ещё меньше, чем у даже не самого умного школьника.
Это просто первое что пришло мне в голову. Если я настолько быстро придумал то, что эта штука не смогла решить, значит её способность решить произвольные математическую задачу крайне ограничена. Может это изменится через несколько лет, но не сейчас.
Текстовую задачу, даже в стиле "У Миши было было 5 игрушек, а у Маши 7. Затем они поменялись и игрушек у них стало поровну. Сколько игрушек стало у Миши?" она тоже не решит, наверняка.
ответить
From Andrey V. Stolyarov Fri Jul 26 09:04:37 2024 UTC
Re: Re: Не осилило.
> чем у даже не самого умного школьника.
Не знаю как насчёт автоматических решалок, а вот не самого умного школьника вы явно переоцениваете. Подавляющее большинство школьников вообще не понимает, что такое возведение в степень.
ответить
From Anonymous (unverified) Fri Jul 26 11:36:33 2024 UTC
Re: Re: Re: Не осилило.
ChatGPT 3.5 не осилил задачу про игрушки. Не понял он, что если они поменялись, то они могли и одну игрушку на две менять или на три, в зависимости от ценности.
Теперь осталось найти школьника и предложить эту задачу решить ему.
ответить
From Andrey V. Stolyarov Fri Jul 26 12:16:25 2024 UTC
Re: Не осилило.
Он мог семантику русского текста не осилить, попробуйте его спросить по-английски.
ответить
From Anonymous (unverified) Fri Jul 26 12:35:43 2024 UTC
Re: Re: Не осилило.
Да, на английском задачу GPT решил, но он решил это через громоздкую систему уравнений, которую он ковырял два экрана. Исходя из моего опыта скармливания ChatGPT разных математических задач, я склонен считать, что просто повезло.
ответить
From Василий (unverified) Fri Jul 26 12:03:58 2024 UTC
Re: Re: Re: Не осилило.
> Подавляющее большинство школьников вообще не понимает, что такое возведение в степень.
В 9 классе меня одноклассники, внезапно, попросили помочь подготовиться к ГИА по математике. Каково было моё удивление, когда я узнал, что никто не умеет считать в столбик и работать с дробями...
ответить
From Andrey V. Stolyarov Fri Jul 26 12:10:46 2024 UTC
Re: Не осилило.
Это впечатляет, да. Ну, с непривычки. Потом проходит.
Хотя, конечно, когда встречаешь какого-нибудь гендиректора небольшой такой компании человек на сто, которому для умножения на десять требуется калькулятор, тут уже никакая привычка не спасает. Я, во всяком случае, ох$$ел, хотя к тому времени вроде бы у меня уже не должно было оставаться никакой веры в человечество.
ответить
From Anonymous (unverified) Fri Jul 26 12:50:01 2024 UTC
Re: Re: Не осилило.
В оправдание могу сказать, что я например для сложения-вычитания двухзначных чисел часто использую калькулятор, хотя на самом деле могу в уме эти операции проделать и с четырёхзначными, что я проверял в играх вроде BSD games / arithmetic. Мозг иногда глючит и даже в простейшей математической операции можно получить неверный результат, даже если в 90 случаев из ста получается правильно посчитать что-то куда более сложное.
Ну и ладно, гендир маленькой компании. А я видел ректора целого университета полуIT-шного направления, которая при работе на компьютере звонила секретарю (или кому-то там, я не видел) каждые пять минут с вопросами вроде "Вот мне нужно сделать текст жирным, куда нажимать?", потом "Мне нужно сохранить то что я напечатала. Куда нажимать," и по инструкции по телефону каждый раз искала кнопочку или пункт меню. Вот прямо для каждой операции на компьютере.
ответить
From Andrey V. Stolyarov Fri Jul 26 13:06:10 2024 UTC
Re: Не осилило.
С двузначными да, можно глюкануть, самое частое — off-by-one в десятках. Но если в мозгу нет на уровне рефлекса вот этого вот "дописать нолик справа", то там нет и числа как такового.
Ректор тут не показатель, это практически наверняка чья-то — ну, кого-то "серьёзного" — дочка, жена или любовница. Вот тот гендир — ну, он вроде self-made, поскольку директор не очень крупной коммерческой лавочки — не такое место, куда ставят "своих по блату". Но вот как можно поднять работающий бизнес, не умея по факту мыслить (а как можно мыслить без абстракций, при том что число — это в абстрактном мышлении основа основ) — короче, я до сих пор не понимаю, что это было.
ответить
From random anonymous (unverified) Wed Jul 24 08:07:23 2024 UTC
Re: Re: Система "Антиплагиат" в ВУЗах
> больше ни в какой ВУЗ не взяли
Даже без возможности заново сдать ЕГЭ и заново поступить на первый курс? Даже на первый курс на платной основе и даже исключить возможность поступления в "негосударственные" вузы?
Я, если что, другой аноним, мой вопрос - просто праздное любопытство по поводу Вашего мнения. Я ни в коем случае не пытаюсь на что-то намекать или иметь дерзость Вас в чем-то пытаться убедить. Спрашиваю только для того, чтобы суть Вашего ответа топикстартеру мне была ясна до конца.
ответить
From Andrey V. Stolyarov Wed Jul 24 10:34:15 2024 UTC
Re: Система "Антиплагиат" в ВУЗах
ЕГЭ вообще не имеет права на существование, если уж на то пошло, но на остальные пункты — без всяких "даже", если человек попытался выдать чужой текст за свой, путь к диплому для него должен быть закрыт навсегда.
ответить
From Anonymous (unverified) Wed Jul 24 22:53:30 2024 UTC
Re: Re: Система "Антиплагиат" в ВУЗах
> ЕГЭ вообще не имеет права на существование, если уж на то пошло
Да чем плох ЕГЭ-то? Основная претензия к нему была, что можно случайно расставить галочки и получить минимум баллов, так ведь это раньше было, сейчас заданий с галочками в ЕГЭ больше нет. Почти все задания предлагают числовой ответ, который можно получить только если решить задачу.
Коррупция, когда какие-нибудь ученики, едва разговаривающие на русском имеют 100 баллов? Вроде ужесточили контроль и сейчас этого меньше.
Сложность заданий? Почти 1-в-1 то же самое что на вступительных экзаменах в ВУЗ раньше было, по крайней мере математика, особенно профильная.
Единственный фактор — ЕГЭ можно сдать только один раз за год и если плохо сдашь никуда не поступишь, а родители и учителя нагоняют, в итоге школьники иногда выходят в окно от стресса. Вот это да, минус, но так хотят разрешить ЕГЭ пересдавать вроде. Да и со вступительными экзаменами в ВУЗ стресса не меньше.
Попробуйте посмотреть на задания к ЕГЭ на последние годы, особенно "математика профильный". Не знаю как вы, а я бы некоторые из последних заданий сходу не решил, не смотря на то что с математикой у меня всё в школе было отлично и я даже участвовал в олимипиадах.
На мой взгляд вполне адекватная градация сложности заданий. Есть и те которые средний ученик решит без особого труда и те, где и топовый серьёзно напряжется, так что экзамен вполне адекватен своей задаче.
ОК, ещё я вижу минусы в том, что из-за ЕГЭ в последних классах вместо обучения предмету происходит натаскивание именно на ЕГЭ. Это да, минус, но всё равно без понимания математики на 100 баллов ЕГЭ не решить, как не натаскивай, так что на мой взгляд не такой уж он и большой.
В общем на этом мои мысли, чем может быть плох ЕГЭ, кончились. Может у вас какие-то другие соображения?
ответить
From Andrey V. Stolyarov Thu Jul 25 01:12:34 2024 UTC
Re: Re: Re: Система "Антиплагиат" в ВУЗах
> из-за ЕГЭ в последних классах вместо обучения предмету происходит натаскивание именно на ЕГЭ
Вот именно. Люди на выходе думать не умеют, зато умеют решать задачи. Добавлю — не просто задачи, а бессмысленные задачи.
> всё равно без понимания математики на 100 баллов ЕГЭ не решить
Во-первых, в школе натаскивают отнюдь не на 100 баллов. На 100 баллов можно отдельно взятого ученика натаскивать, а целый класс, даже в спецшколе, — максимум баллов на семьдесят.
Во-вторых, нет, умение решать задачи не гарантирует ничего похожего на понимание математики. Раньше, когда во всех ВУЗах были свои экзамены, появилось такое явление "абитуриентская математика". А всерос и прочие олимпиады породили такое явление "олимпиадная математика". Ни то, ни другое никогда не было собственно математикой, только издали похоже. Теперь вот есть ЕГЭшная математика, это тоже совершенно отдельный вид спорта, который собственно математикой не является и никакого "понимания математики" не даёт даже близко.
Если что, не волнуйтесь, я прекрасно знаю, какие задачи входят в ЕГЭ по математике. Ну то есть даже не надейтесь, что я тут что-то упускаю или чего-то не знаю.
> так что на мой взгляд не такой уж он и большой.
Ага, ну вот после этого — вон с моего сайта и дорогу сюда забудь. Пока на грубость не нарвался.
ответить
From anonymous (unverified) Mon Aug 5 12:27:44 2024 UTC
Re: Re: Re: Re: Система "Антиплагиат" в ВУЗах
> я прекрасно знаю, какие задачи входят в ЕГЭ по математике
А можете, как знающий человек, рассказать, чем "абитуриентская математика" отличается от "ЕГЭшной математики"? Увы, в моём окружении отсутствуют люди, знакомые одновременно с двумя этими явлениями.
И как, по вашему мнению, должны выглядеть идеальные вступительные испытания для абитуриента?
ответить
From Andrey V. Stolyarov Mon Aug 5 13:09:39 2024 UTC
Re: Система "Антиплагиат" в ВУЗах
> чем "абитуриентская математика" отличается от "ЕГЭшной математики"?
Ну, она была всё-таки изрядно поразнообразнее, плюс к тому в некоторых ВУЗах существовали устные вступительные экзамены. Если сподобитесь найти Ткачука примерно до 2004 года издания, там была отдельная часть про устный экзамен, потом её выкинули "за ненадобностью", но по мне как раз из всей книжки Ткачука интерес представляли собрание вступительных задач за 30+ лет по всем факультетам МГУ (но это, понятное дело, не заслуга Ткачука, просто справочник) и вот как раз эта часть про устный экзамен, остальное там какое-то мутное.
Но даже и без устных экзаменов — те задачи хотя бы было до какой-то степени интересно решать, несмотря на их общую бессмысленность: ну не бывает в математике такой тригонометрии! и такого раскрытия модулей! и логарифмы, когда есть, с ними такого не происходит, как в абитуриентских задачах — то есть это всё была не математика, а такой специальный вид головоломок — типа, ну вот есть только те понятия, которые вводятся в школе, чего бы из них ещё этакого склепать, чтоб мало не показалось. Но тут дело в чём, головоломки как таковые ведь тоже в целом штука полезная, просто не следует думать, что вот это вот и есть математика.
> И как, по вашему мнению, должны выглядеть идеальные вступительные испытания для абитуриента?
А вот тут как раз всё просто. Нужен некий тестовый минимум, чтобы совсем уж дуболомов отсеять, а потом на первый курс брать всех, кто этот минимум проскочил, не фиксируя никак количество мест. Пришло 5000 человек, из них 4000 не справились с квалификационным заездом, остались 1000, всех взяли. Только чтобы было известно, что по итогам первой сессии останутся 200 человек, по итогам второй — 100, и только потом, начиная со второго курса, отчислять будут исключительно за "хвосты".
И да, единственная допустимая форма проведения экзамена — устно по билетам. Письменные работы любого рода — это иррелевантная туфта.
ответить
☞ From user (unverified) Mon Jul 22 08:43:40 2024 UTC
Довольно наивный вопрос
Я правильно понял, что чтобы создать свой сервер дома, необходимо настроить роутер так, чтобы все пакеты по-умолчанию отправлялись на мой компьютер? И в таком случае при попытке обращения к IP адресу шлюза, соединение будет установлено с серверной машиной. В различных местах интернета, мне говорят, что это не сработает, и нужно попросить провайдера "открыть порты". Что такое "открыть порты"? Разве "порт" это не объект внутри ОС. Или они какие-то другие "порты" имеют ввиду? И если провайдер как-то ограничивает создание сервера, то каким образом мы можем вообще отличить интернет? чем слушающий сокет отличается от того сокета, что создаётся на клиенте?
ответить
From Andrey V. Stolyarov Mon Jul 22 09:11:35 2024 UTC
Re: Довольно наивный вопрос
Ответ на ваш вопрос вы найдёте, прочитав эту книгу до части VI включительно. Более короткого ответа у меня для вас нет. Можете попробовать с этой VI части начать (она во втором томе, если что), но с довольно хорошей вероятностью при этом ничего не поймёте.
На всякий случай, вот это вот "открыть порты" — чушь собачья, те, кто такое советует, сами не понимают, что происходит.
Впрочем, ваши поползновения что-то там сделать с роутером тоже чушь собачья, вашего роутера из интернета не видно, хоть вы там обнастраивайтесь.
ответить
From user (unverified) Mon Jul 22 09:47:46 2024 UTC
Re: Re: Довольно наивный вопрос
Ну я как раз это и прочитал. По протоколу ip же маршрут находится автоматически, так как адреса разбросаны заранее (в отличии от протоколов канального уровня, где нужно явно знать адрес устройства). И тогда, получается чтобы установить соединение, достаточно знать IP, и порт. Внешний IP роутера же находится в сети интернет, раз он может обратится к DNS серверам итд. Получается, когда мы установили соединение, пакеты отправляются от адреса роутера к адресу компьютера-сервера какого-нибудь сайта, где работает программа на сокетах как в примерах из книги: после установления соединения она принимает запрос, и на него отвечает что-нибудь. Так? Почему тогда нельзя поменять эти устройства местами, чтобы роутер был как сервер,который только лишь перенаправляет пакеты на настоящий сервер, а клиентом был кто-нибудь другой, кто знает внешний ip адрес. Я, конечно не собираюсь ничего такого делать, тем более что дешевле купить Dedicated Server, просто не понимаю "почему незлья подлкючиться к моему компьютеру через сеть интернет, зная IP маршрутизатора". Или можно? Или нельзя? Или можно?
ответить
From Andrey V. Stolyarov Mon Jul 22 10:29:08 2024 UTC
Re: Довольно наивный вопрос
> По протоколу ip же маршрут находится автоматически,
ЧЕГО?!!!!
> Так?
Нет, не так. Ну то есть просто вообще каждое утверждение вашего поста неверно. Каждое.
> Ну я как раз это и прочитал.
В таком случае помочь ничем не могу. Кто не умеет читать, тому книжка не помощник, а гостевуха тем более.
У вас отстутствует даже намёк на понимание, что там как происходит. И отвечать на ваши безумные вопросы тут никто не будет, не надейтесь. На них в любом случае нет ответа, поскольку сами формулировки вопросов исключают возможность ответить на них сколько-нибудь не совсем безумно.
UPD: Чувак, ты не понял. Без всяких "всмысле". Твоя картина мира не имеет ничего общего с реальностью, раскрывать твои бредни я тут больше не буду. Всё, аудиенция окончена. Хочешь — книжку читай, там всё написано, не хочешь — дело твоё. Ещё можешь на досуге погуглить, что такое NAT (про это в книжке есть). А ещё — что за протокол BGP (про это в книжке нет). Может, допрёт, как в интернете на самом деле всё устроено. Хотя, конечно, вряд ли.
ответить
From Ilya Mon Jul 22 10:17:14 2024 UTC
привилигированные порты и проблемы с безопасностью
Как раз хотел уточнить насчет портов, мне вроде бы понятно, зачем для привязки к первым 1024 портам нужны рут права, что бы, например, вредоносный софт не смог так просто привязаться к порту 22 и украсть ssh пароли (да да, лучше использовать ключи, но я так, для примера). Но мне кажется немного неразумным, заставлять всех системных демонов каждый раз реализовывать у себя поддержку понижения привилегий (и не дай бог забудешь).
У меня вопрос, можно ли как то задать в системах Linux/BSD некую таблицу правил, что бы к конкретному порту X мог привязыватся только процесс запушенный от конкретного пользователя Y? Это бы решило обе проблемы.
ответить
From Andrey V. Stolyarov Mon Jul 22 10:32:59 2024 UTC
Re: привилигированные порты и проблемы с безопасностью
> что бы, например, вредоносный софт не смог так просто привязаться к порту 22
Нет, не для этого. Если бы не было привилегированных портов, любой юзер в системе мог бы поймать момент, например, когда какой-то из основных сервисов перезапускается, и повесить на этот порт свою программу вместо системного демона.
> украсть ssh пароли
Украсть пароль от ssh, просто повесившись на 22 порт, невозможно, изучайте основы криптографии.
> можно ли как то задать в системах Linux/BSD некую таблицу правил
Такого нет и не нужно.
ответить
☞ From original (unverified) Mon Jul 22 08:32:42 2024 UTC
Jonathan Blow - про коллапс цивилизаций
ZSRHeXYDLko
Нашел тут выступление в Москве одного американского разработчика, прекрасно иллюстрирует куда катится айти индустрия, а вместе с ней и все человечество. Про то как, забываясь на пути усложнения всего, цивилизация медленно но верно идет по пути коллапса, аналогично тому, что был в бронзовом веке, и от того насколько он медленный, никто его не замечает. Смотрится на одном дыхании.
ответить
From Andrey V. Stolyarov Mon Jul 22 08:48:54 2024 UTC
Re: Jonathan Blow - про коллапс цивилизаций
Подредактировал, чтобы сделать ссылку активной. Всё не смотрел, но начало да, завораживает.
UPD: таки досмотрел до конца. Эх, этому дядьке бы моя книжка понравилась. Если бы она существовала на английском.
ответить
From original (unverified) Mon Jul 22 11:16:01 2024 UTC
Re: Re: Jonathan Blow - про коллапс цивилизаций
Этот дядька там вроде свой язык пилит, на замену плюсам, Jai называется, может чего стоящего да выйдет.
А вообще, на эту тематику даже кто-то ОС придумал для постапокалипсиса (http://duskos.org). Она одноядерная и может работать на чипах без MMU. Не уверен насчет реализации, но идея очень даже кстати, нутром чую, как в один прекрасный (нет) день, на Тайваньском заводе TSMC что то нехорошее случится (например прилетит ракета с материкового Китая), и не будет у нас больше новых процессоров. Эх, жаль Эльбрус и Байкал это лишь очередной распил бабла.
ответить
From Andrey V. Stolyarov Mon Jul 22 13:02:04 2024 UTC
Re: Jonathan Blow - про коллапс цивилизаций
На линейке x86 полноценный MMU появился начиная с i386, т.е. с середины 1980-х. Сейчас "процессор без MMU" — это разве что микроконтроллеры для стиральных машин и прочих холодильников, и то не все.
М-да. Поискал этот Jai. Нашёл страничку, которая мне выдала вот такое: Unfortunately, your browser is unsupported. Please switch to a supported browser to view rich content, log in and reply. И отказалась скроллиться. Хотя там нет ничего, кроме просто текста.
Безнадёжно. А такие вроде правильные вещи дядька говорил, я аж поверил.
ответить
From original (unverified) Mon Jul 22 14:24:01 2024 UTC
Re: Re: Jonathan Blow - про коллапс цивилизаций
А вы уверены что это его оффициальная страница? Насколько я знаю, он свой компилятор еще нигде не публиковал, да и веб разработчиков ниоднократно поливал помоями на своем ютуб канале. Но если она и правда его, это действительно печально.
ответить
From Andrey V. Stolyarov Mon Jul 22 14:35:34 2024 UTC
Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
jai.community не знаю, насколько она официальная, но в выдаче поисковиков верхняя
ответить
From Parthen (unverified) Mon Jul 22 16:51:32 2024 UTC
Интересно...
Походил по страницам jai.community - все спокойно открывается с Firefox последней версии с отключенным JS, равно как и с консольного links.
У вас на какой-то конкретной странице все повисло?
ответить
From Andrey V. Stolyarov Wed Jul 24 03:56:40 2024 UTC
Re: Интересно...
Нет, похоже, всё проще, там для случая отключённого js совершенно другая версия страниц, во всяком случае выглядит полностью иначе. А я как-то так, не надеясь ни на что, полез туда своим обычным браузером из-под изолированного акка, а там js включён.
Это, впрочем, не так чтоб сильно лучше. В "современных" версиях браузеров js выключить можно только через всякие about:config, про это мало кто знает. И уж во всяком случае если страница отказалась работать, ссылаясь на "неподдерживаемую" версию браузера, то отключать js и пробовать снова — ну, мне в голову не придёт.
ответить
From Artem (unverified) Mon Jul 22 16:59:46 2024 UTC
Re: Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
Нет, она не имеет отношения к Джону, а у меня поисковик вообще её не вывел. Сейчас вы можете получить Jai, только направив запрос самому Джону на включение в список бета-тестеров. Пока что посмотреть на язык можно на записях его стримов на ютубчике.
ответить
From Andrey V. Stolyarov Wed Jul 24 04:10:15 2024 UTC
Re: Jonathan Blow - про коллапс цивилизаций
То есть что, никаких материалов, кроме видосов, нет? Ну, я в бета-тестеры записываться уж точно не побегу.
ответить
From Artem (unverified) Mon Jul 22 17:26:30 2024 UTC
Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
Вроде бы эта самая Dusk OS написана на Forth, и компилирует себя при каждой загрузке. Не то, чтобы это на что-то влияло, и это уж точно не первая такая ОС, но как-то немного смешно.
Насчёт работы без MMU, фишка в том, что в самом массовом процессоре за всё время, который только недавно перестали выпускать, но всё ещё выпускают его улучшенные версии, который засовывают во всё, что можно и нельзя, а именно Zilog Z80, нет MMU.
Гибель TSMC едва ли станет катастрофой. Цены подскочат, временно, пока Samsung, Intel, Texas Instruments и прочие раскочегарятся, да и только. Да и, скорее, сами тайваньцы взорвут TSMC. Вроде бы они уже заложили взрывчатку, и этим надеются удержать Китай от нападения, в надежде, что любимая сказка левых про власть капитала окажется правдой.
ответить
From Andrey V. Stolyarov Fri Jul 26 12:36:13 2024 UTC
Re: Jonathan Blow - про коллапс цивилизаций
Если взорвать TSMC, это отбросит технологии кристаллов для процессоров лет на десять назад. Ну, от силы на пятнадцать. i386 вышел почти сорок лет назад. MMU в нём был, собственно какой-то MMU был и в 286, но кривой.
Если бы кого-то всерьёз волновали проблемы постапокалиптического будущего, стоило бы, наверное, пытаться делать клоны i386, одноядерные, со всей памятью на том же кристалле (памяти — ну, 64 Mb, ну, 128, больше не надо), всё это на кристаллах технологий, появившихся где-нибудь в районе миллениума. Такие кристаллы вроде бы много где умеют выпекать. При всей моей неприязни к системе команд i386, софта под него наделали — мама не горюй, можно ничего нового не изобретать, всё уже есть. Вот взять эту архитектуру и вместо того, чтобы бессмысленно наращивать скорости и объёмы (которые тут же будут впустую сожраны питономакаками, всякими вебанутыми и прочими я-тоже-программистами), пытаться развиваться в сторону противоположную: снижать энергопотребление, снижать стоимость производства, повышать долговечность, всё это при зафиксированных раз и навсегда вычислительных ТТХ.
Z80 вряд ли годится на что-то большее, чем управление стиральной машиной, и тут хоть ось, хоть не ось, хоть форт, хоть не форт — пытаться на процессоре без MMU построить компьютер общего назначения, я бы сказал, вопиюще бессмысленно.
Кстати, если вернуться к вопросу о взрыве TSMC, лично я всячески за. Если в организации появился незаменимый сотрудник, его следует немедленно уволить. Если в мире появился незаменимый завод, то чем раньше его взорвут, тем лучше.
ответить
From Anonymous (не ТС) (unverified) Fri Aug 9 15:30:05 2024 UTC
Re: Re: Jonathan Blow - про коллапс цивилизаций
> Z80 вряд ли годится на что-то большее, чем управление стиральной машиной, и тут хоть ось, хоть не ось, хоть форт, хоть не форт — пытаться на процессоре без MMU построить компьютер общего назначения, я бы сказал, вопиюще бессмысленно.
Ну, у меня есть комп на кр580вм80, то есть советском клоне i8080, расширенной версией которого и является Z80. То есть мой проц даже слабее. И ничего, вполне себе компьютер. Правда толку от него маловато, но для каких-нибудь инженерных расчётов сойдёт.
ответить
From Andrey V. Stolyarov Fri Aug 9 15:37:32 2024 UTC
Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
Слушайте, ну вот что за бредни я только что прочитал?! У меня тоже РК86 где-то на антресолях валялся, и я прекрасно помню, какой это "вполне себе комп". А ничего, что ПЕРВАЯ raspberry pi жрёт электричества в несколько раз меньше, а по вычислительной мощности рвёт этот РК86 даже не в тысячи раз, а в сотни тысяч, если не в миллионы? Это я уже молчу, что такой "вполне себе комп" никаким образом не подключить ни к каким коммуникациям, я подозреваю, ему не хватит мощи даже обслуживать COM-порт и работать терминалом.
Ещё раз, и медленно: пытаться на процессоре без MMU построить компьютер общего назначения вопиюще бессмысленно, есть процессоры с MMU, которые ничем не хуже и всем лучше.
ответить
From Anonymous (unverified) Sat Aug 10 00:41:45 2024 UTC
Re: Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
Переферию подключать всё-таки можно, но требуется вначале спаять схему конкретно под нужное устройство. Терминал тоже можно сделать, только нужна обвязка.
Сейчас есть микросхемка, забыл название, к ней прицепляешь VGA, PS/2 и UART разъёмы на маленькой плате и вот, пожалуйста, терминал. То есть одна микросхема с минимальной обвязкой заменяет целый такой вот комп в одном назначении. Современные 8-bit компы как раз её используют иногда, чтобы предоставить дисплей вместо довольно большой схемы видеокарты.
Так что уточняю, это вполне себе комп для случая, если ничего другого нет или когда хочется посмотреть на минимально возможную железку, которую можно назвать компом.
https://www.youtube.com/@Alemorf
Рекомендую серию про Micro/80 этого автора. Как ни странно, но хотя появился советский комп Micro/80 раньше чем рк-86, но был лучше. У рк-86 основной плюс в меньшем количестве корпусов.
А если комп нужен чтобы реально пользоваться, то естественно даже самый простенький 32-битный комп с MMU куда лучше чем это, просто потому что на нём можно линукс запустить, а в линуксе есть нормальная консоль, а не только монитор с записью двоичных кодов в память. И можно не ассемблировать что-то по книжке в тетрадке, а набрать gcc и запустить программу на C и насколько я понимаю таковое было даже у Линуса Торвальдса в 1991 году когда он только выложил первую пару версий. Да и 8 мегабайт оперативки — это далеко не то же что и 8 килобайт, а уж тем более если мегабайт будет не 8, а например 1024.
ответить
From Andrey V. Stolyarov Sat Aug 10 09:57:09 2024 UTC
Re: Jonathan Blow - про коллапс цивилизаций
> естественно даже самый простенький 32-битный комп с MMU куда лучше чем это
Ну так вот я именно это и имею в виду. Они ещё и долговечнее, а нагвоздили их очевидно во много раз больше (экземпляров), соответственно и сохранившихся экземпляров больше, и таких, которые поддаются восстановлению.
Процессорам без MMU место или в стиральной машине, или в музее. Я не могу себе представить сценарий, даже самый апокалиптический, при котором будет осмысленно использование того же кр580 как основы компьютера общего назначения.
ответить
From Anonymous (unverified) Sun Aug 11 04:26:36 2024 UTC
Re: Re: Jonathan Blow - про коллапс цивилизаций
Мне нравится. Ну не для реальных задач, но вот прямо круто когда можно вводить машинные коды прямо в память и они исполняются на реальном железе.
Хотя наверное можно что-то такое и с современным компом организовать, но это всё-таки не то, нет полного доступа ко всему.
ответить
From Andrey V. Stolyarov Sun Aug 11 09:21:38 2024 UTC
Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
> Мне нравится.
Ну так и рассматривайте этот комп как коллекционный экземпляр, это вполне нормально.
> но это всё-таки не то
Если хотите что-то более практическое — возьмите Ардуино и попробуйте под неё (точнее, под AVR) на асме пописать. Возможно, найдёте как раз то, что вам надо.
А ещё мне студенты показывали змейку на 16-битном x86, записанную в бут-сектор флешки. Там ещё дополнительное ограничение, что надо в эти вот 512-64 = 448 байт уложиться, это добавляет, так сказать, интриги.
ответить
From M (unverified) Sat Aug 17 10:22:52 2024 UTC
Re: Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
Или для Z80 с Ардуино ;)
ответить
From M (unverified) Sat Aug 17 05:36:26 2024 UTC
Re: Jonathan Blow - про коллапс цивилизаций
круто когда можно вводить машинные коды прямо в память
Без участия процессора и вспомогательных микрокомпьютеров?
ответить
From Andrey V. Stolyarov Sat Aug 17 13:49:19 2024 UTC
Re: Re: Jonathan Blow - про коллапс цивилизаций
Да нет, там в ПЗУ зашит некий "монитор", позволяющий память дампить, выдавать на магнитофон (буквально, на бытовой кассетный магнитофон), считывать с магнитофона, редактировать содержимое памяти (в том числе да, вводить с клавиатуры содержимое, начиная с заданного адреса в памяти) и передавать управление на заданный адрес в памяти. Но то обстоятельство, что этот "монитор" сам по себе программа, и довольно сложная — ну, это следующий уровень постижения.
ответить
From M (unverified) Sat Aug 17 18:32:36 2024 UTC
Re: коды на реальном железе
Написать на Паскале программку, которая позволяет себя патчить на ходу и выполнять изменённый код на реальном железе?
Без вскрытия корпуса доступ только к тому, что выведено на ноги микросхемы. (Если нет радиоинтерфейса)
ответить
From Andrey V. Stolyarov Sat Aug 17 18:51:48 2024 UTC
Re: Re: коды на реальном железе
> Написать на Паскале
Это можно разве что на том же MS-DOS'е сделать. Ну, либо осваивать вызов mmap, ничего невозможного в этом нет; только если человек такое уже может, зачем тогда продолжать на Паскале.
А так в норме секция кода недоступна для модификации, а всё остальное недоступно для исполнения. Ну хотя стек может быть доступен для исполнения, спасибо любителям вложенных подпрограмм, для которых требуются стековые трамплины; но вообще ждать от стека доступности на выполнение лучше не надо, на машинах с высокими требованиями к безопасности это стараются придушить, а трамплины эмулировать.
ответить
From аноним (unverified) Wed Jul 31 00:31:04 2024 UTC
Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
>Jai называется, может чего стоящего да выйдет.
Не выйдет. Тебя не смутило, что этот товарищ аинду юзает?
ответить
From Andrey V. Stolyarov Wed Jul 31 09:16:46 2024 UTC
Re: Jonathan Blow - про коллапс цивилизаций
Плюс к тому компилятор пишет на C++ (не знаю, какой он выбрал диалект, это не сообщается, исходники закрыты; но что-то мне подсказывает, что с этим всё плохо) и переписывать его на самом Jai, как я понял, не собирается.
Но попытку, пусть и неудачную, засчитать можно, почему бы нет.
ответить
From Иван С. (unverified) Fri Aug 2 14:00:36 2024 UTC
Re: Re: Jonathan Blow - про коллапс цивилизаций
Наткнулся на эту HTML-страницу в просторах уэба, где, по-видимому, описываются некоторые особенности языка JAI и проводится сравнение с другими языками, включая C++. Возможно, по некоторым признакам А.В. сможет опознать диалект, используемый для написания компилятора.
https://github-wiki-see.page/m/Jai-Community/Jai-Community-Library/wiki/Overview
ответить
From Andrey V. Stolyarov Fri Aug 2 15:00:48 2024 UTC
Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
Диалект не опознал, но с самим языком мне теперь всё ясно. Там есть такое перечисление (оставляю только те пункты, которые позволили мне сформировать отношение к проекту):
Лично мне этого достаточно, обсуждение языка Jai прошу считать закрытым.
ответить
☞ From Мое имя (unverified) Sun Jul 21 13:50:38 2024 UTC
Спасибо Вам за книги
Очень печально, что Андрея Викторовича не хватает на написания книг по другим областям информационных технологий, потому что так обьяснять и расскрывать тему, как он, никто не может (по крайней мере, мне не встречались)
ответить
From Andrey V. Stolyarov Sun Jul 21 14:27:02 2024 UTC
Re: Спасибо Вам за книги
Даже интересно, а про какие ещё "области информационных технологий" вы бы хотели видеть книги моего авторства?
ответить
From + (unverified) Sun Jul 21 15:09:24 2024 UTC
Re: Re: Спасибо Вам за книги
Я не автор, но мне бы хотелось материал, который раскрывает нюансы вроде отказа от повышения привелегий в процессе сеанса работы, отказ от sudo, doas и так далее в пользу CTRL-ALT-F2. И наверняка многие, многие другие аспекты, о которых мне до сих пор неизвестно. Есть куча книга по линуксу и информационной безопасности. Но там все через sudo(что как бы намекает), такие дела.
ответить
From Andrey V. Stolyarov Sun Jul 21 15:14:52 2024 UTC
Re: Спасибо Вам за книги
Информационная безопасность находится за пределами моей уверенной компетенции, т.е. я более-менее уверенно себя чувствую в плане безопасности моих собственных компьютеров, но писать книгу на эту тему, пардон, было бы откровенным шарлатанством.
Безусловно, когда кто-то имеет наглость что-то там писать про безопасность, и при этом предлагает использовать sudo — это намного более запущенный случай шарлатанства, нежели получилось бы у меня; но становиться шарлатаном я в любом случае не хочу.
ответить
From Anonymous (unverified) Sun Jul 21 22:24:40 2024 UTC
Re: Re: Спасибо Вам за книги
А если sudo используется, но в конфиге явно прописаны конкретные программы, которые через неё можно запускать, чем это принципиально отличаеся от того же suid-бита?
ответить
From Andrey V. Stolyarov Mon Jul 22 04:23:16 2024 UTC
Re: Спасибо Вам за книги
Во-первых, и в-главных, sudo просит пароль (но не пароль root'а, а пароль самого пользователя), что приводит к появлению ложного чувства безопасности — многие люди уверены, что без знания их замечательного пароля у злоумышленника ничего не получится (несмотря на то, что они сами то и дело этот пароль вводят, и перехватить его, уже имея доступ к их аккаунту — дело не просто техники, а довольно простой техники). Если же поставить suid bit, то будет очевидно, что вот эта вот программа может быть запущена в любой момент всеми, у кого хватит полномочий. И люди ещё, возможно, подумают, ставить этот бит или нет.
Во-вторых, sudo сама по себе является suid'ным бинарником и в качестве такового мишенью для атаки. И она слишком развесиста, чтобы её в этом качестве терпеть.
Ну и в-третьих, я обычно вижу в sudoers ALL=ALL, а всякие "инструкции" как сделать то или это написаны в предположении, что именно такое в sudo и написано.
ответить
From вопрос (unverified) Tue Jul 23 14:58:08 2024 UTC
Re: Re: Спасибо Вам за книги
Получается, приватные ssh и gpg ключи тоже не имеет смысла паролем шифровать?
ответить
From Andrey V. Stolyarov Wed Jul 24 04:00:33 2024 UTC
Re: Спасибо Вам за книги
Имеет, если они на отчуждаемых носителях, например на флешке. На случай потери флешки. Ещё на случай, если злые дяди отберут комп в сборе, но на этот случай imho диски должны быть зашифрованы целиком, кроме разве что системного раздела, где ничего, кроме самой системы, не хранится (его тоже можно, но требуется более умелое обращение с luks'ом).
Ну и от дурачка в принципе тоже помогает. Просто надеяться, что все вокруг окажутся дурачками, малость неосмотрительно.
ответить
From Василий (unverified) Tue Aug 6 07:56:54 2024 UTC
Re: Re: Спасибо Вам за книги
> sudo просит пароль (но не пароль root'а, а пароль самого пользователя), что приводит к появлению ложного чувства безопасности
В детстве (6-7 класс) стоял Debian на компьютере. С root (я тогда это "админ" называл) доступом был мамин аккаунт. Я хотел что-то установить, мне сказали использовать sudo под своим аккаунтом и не надо ничего делать под маминым аккаунтом. Пароль от её аккаунта я знал и через sudo вводил _её_ пароль, т.к. _она__админ_, а я простой пользователь. Пароль хавать отказывалось. А потом мне объяснили, что я должен был вводить свой пароль, что вызвало у меня сильнейшую реакцию ЧЗХ: т.к. я же не админ, а sudo даёт полный доступ.
Люблю моменты, когда детский незамутнённый взор распознаёт какую-нибудь чушь. :)
Как жаль что тогда ещё не было вашей книги. Спасибо вам!
ответить
From Мое имя (unverified) Sun Jul 21 17:57:14 2024 UTC
Re: Re: Спасибо Вам за книги
Может само выражение "области информационных технологий" подобрано неудачно, но лучшего на тот момент найти не мог
Одно из: ещё давно я нашел у Вас где-то упоминание о странице с продажами всякими устройствами, подобными микроконтроллеру и остальным вещам, то было бы интересно перенять от Вас опыт того, как дошли до разработок этих систем, как "подходили" к данным вещам, какие книги читали (а может не книги, а другие источники знаний).
ответить
From Andrey V. Stolyarov Sun Jul 21 18:03:31 2024 UTC
Re: Спасибо Вам за книги
Во всём, что касается микроконтроллеров, основное — это схемотехника, а не программирование. Так вот, электронную основу тех дивайсов, о которых вы говорите, делал не я, несмотря на её (насколько я могу судить) схемотехническую примитивность. Ну то есть моего там было техническое задание и весь софт — и прошивка для дивайсов, и управляющие программы. Но электронную часть пришлось делегировать, и хорошо, что нашлось, кому.
Так что об этой области никаких книг от меня не будет уж точно, и не потому, что меня на это "не хватает", а потому, что я эту область не знаю.
ответить
From DrvPtr (unverified) Sun Jul 21 20:01:02 2024 UTC
Re: Re: Спасибо Вам за книги
Если честно, то хотелось бы отдельно более подробный гайд по использованию Unix. В книге показаны необходимые основы. Но вот люди на форумах более ловко пользуются командной строкой: перенаправляют ввод, знают тонкости всех стандартных утилит echo, cat, tee, sed итд, понимают для чего какая папка предназначена, могут и почтовый сервис настроить, и сеть отконфигурировать вручную. Для того, чтобы это всё освоить есть конечно FreeBSD Handbook, но там как-то слишком сухо написано, как в справочнике, без особого разжёвывания.
ответить
From Andrey V. Stolyarov Sun Jul 21 20:18:10 2024 UTC
Re: Спасибо Вам за книги
А тут всё проще: поможет только практика.
Книги, в которых подробно расписывается какой-нибудь Bourne Shell, и к нему ещё sed, awk, ещё что-нибудь, и ещё, и ещё — таких книг вроде не так уж и мало, только от них не видно пользы. Вот лично я в повседневной работе от возможностей bash использую, может, процентов пять, от возможностей sed — меньше процента, awk вообще не использую. Но если на эту тему пишется книга, то там, как правило, систематическое изложение сразу всего, что вообще есть, реальное освоение этого не факт что вообще возможно, да просто удержать в голове такую прорву информации нереально, если её не применять постоянно в работе. А понять, что из этого нужно, а что не нужно — вообще не вполне понятно, как. И тем более непонятно, как, будучи автором такой книги, выбрать из всего, что знаешь сам, именно то, что потом потребуется читателю, которого (в смысле читателя) автор никогда не видел и представляет себе только приблизительно.
ответить
From Anonymous (unverified) Sun Jul 21 22:33:46 2024 UTC
Re: Re: Спасибо Вам за книги
awk — это примерно как perl, только попроще. Вроде кстати perl и вырос из желания сделать продвинутую версию awk, но тут могу ошибаться.
Я обычно использую вместо awk цепочки из cut, sort, grep, sed, tr, и так далее. Не знаю, почему, но мне лично как-то проще это воспринимать. Хотя если нужно например в текстовом файле посчитать сумму одной колонки, умножить на сумму другой и тд то ничего кроме awk, что могло бы так делать я не знаю. Разве что электронные таблицы применить. Но мне это настолько редко нужно, что я успеваю забыть 90% awk и изучаю его каждый раз заново.
Из sed в основном использую операторы s///g и y/// а когда нужно делать что-то с несколькострочными данными, обычно с помощью tr превращаю переводы строки во что-то другое, а после обработки обратно, хотя в sed есть операторы для многострочных действий.
ответить
From Andrey V. Stolyarov Mon Jul 22 04:25:17 2024 UTC
Re: Re: Re: Спасибо Вам за книги
Ну я за вас рад, и что? Мой коммент не о том, как надо или возможно использовать всё это хозяйство, а о том, что осмысленную книгу на эту тему написать вряд ли возможно.
ответить
From Anonymous (unverified) Mon Jul 22 05:20:58 2024 UTC
Re: Re: Re: Re: Спасибо Вам за книги
Есть Bash FAQ от создателей собственно bash и там же они кстати критикуют Advanced Bash Scripting Guide и подобные, где часто рекомендуют конструкции, которые не работают или работают неправильно на файлах со спецсимволами, пробелами, дефисом в начале. В ответ на возражение вроде "а не надо называть файлы так" скажу — 1) возможно админ обслуживает машину с юзерскими каталогами, в том числе злонамеренными юзерами, которые могут попытаться сделать инжект команды в имя файла 2) некоторые файлы скачаны из инета по клику по ссылке 3) некоторые файлы могут быть распакованы из архива, 4) не настолько уж правильные команды и сложнее неправильных обычно
http://mywiki.wooledge.org/BashFAQ - вот ссылка. Наряду с критикой неправильной команды рядом есть и правильная каждый раз.
ответить
From Andrey V. Stolyarov Mon Jul 22 07:14:31 2024 UTC
Re: Спасибо Вам за книги
Это другой жанр. Такие тексты читают люди, точно знающие, чего хотят. Книги вроде моего трёхтомника читают те, кто ещё пока не понял, чего конкретно хочет.
ответить
From Oliver (unverified) Thu Jul 25 13:26:14 2024 UTC
Re: Re: Re: Спасибо Вам за книги
> понимают для чего какая папка предназначена, могут и почтовый сервис настроить, и сеть отконфигурировать вручную
Для чего как папка - это в Интернете не сложно найти. Сеть, почтовый сервис - очевидно надо понимать основы работы сетей. У Пола Коббаута есть в этом плане неплохая (ИМХО) книга. Она не самая свежая, но для понимания работы сетей и их настройки в Линукс, достаточно. Имеется перевод на русский. Наверняка на просторах Интернета можно найти книгу.
ответить
From Andrey V. Stolyarov Thu Jul 25 13:56:51 2024 UTC
Re: Спасибо Вам за книги
Папки в шкафу
забаню!
upd: пардон, упустил — в анонимном комменте, на который вы отвечаете, тоже используется слово "папка". Нет, я всё-таки когда-нибудь закрою анонимные комментарии, ей-богу.
ответить
From Oliver (unverified) Fri Jul 26 11:24:51 2024 UTC
Re: Re: Спасибо Вам за книги
> ...в анонимном комменте, на который вы отвечаете, тоже используется слово "папка".
Надо же, я тоже пропустил сие слово. Хотя я сам при разговорах об этом настаиваю, что в Unix нет папок, а есть директории.
ответить
From Andrey V. Stolyarov Fri Jul 26 13:19:09 2024 UTC
Re: Спасибо Вам за книги
Есть, есть над чем поработать :-)
ответить
☞ From anon (unverified) Fri Jul 19 10:04:52 2024 UTC
Идеальный язык и исключения
В одном из FAQ про идеальный, на ваш взгляд язык, вы критиковали Си, говоря что там нет прямого доступа к стэковым фреймам, на уровне языковых констукций. Но разве те же исключения нельзя было бы реализовать, используя функции setjmp/longjmp из стандартной библиотеки Си, предварительно обернув их в синтаксический сахар через макросы на вашем языке? И тогда не нужно лишний раз усложнять компилятор, или я что то упускаю?
ответить
From Andrey V. Stolyarov Fri Jul 19 10:08:04 2024 UTC
Re: Идеальный язык и исключения
Вы прорву всего упускаете. Например, деструкторы. И не рассказывайте мне, что без деструкторов можно обойтись: если "универсальный" язык, несмотря на все его универсальности, не будет позволять реализовать деструкторы, то его можно вообще не начинать делать.
ответить
From anon (unverified) Fri Jul 19 10:21:27 2024 UTC
Re: Re: Идеальный язык и исключения
> И не рассказывайте мне, что без деструкторов можно обойтись
Даже не пытался, сам пользуюсь ими постоянно, более того, вообще не понимаю как можно в сколь нибудь большом проекте на чистом Си, помнить все время вызывать free после malloc, когда в тех же плюсах тривиально реализуются умные указатели.
Однако, в свою защиту скажу, что те же деструкторы, как мне кажется, так же можно сделать через нормальные процедурные макросы, умеющие ходить по абстрактному синтаксическому дереву, достаточно лишь найти места где переменная выйдет из области жизни и вставить туда вызов деструктора ее типа, а в сам деструктор, вставить вызовы деструкторов всех полей класса.
ответить
From Andrey V. Stolyarov Fri Jul 19 10:40:23 2024 UTC
Re: Идеальный язык и исключения
Н-да.
Мысль первая: я никогда не использую умные указатели. Хотя пишу в основном на плюсах. А вот это ваше "вообще не понимаю как можно в сколь нибудь большом проекте на чистом Си, помнить все время вызывать free после malloc," можно сократить до четырёх слов: "я не умею программировать".
Точнее, у меня был один проект, где активно использовались умные указатели, это был InteLib, но там реализован Лисп, в таких вычислительных моделях без сборки мусора (или хоть какого-то её заменителя, конкретно там reference counting) делать нечего. А в обычной жизни мне и в голову никогда не придёт ввести smart pointer.
Мысль вторая: совершенно пофигу, как конкретно реализованы деструкторы. Вы понимаете, что сделав longjmp, вы их перепрыгнете? Или вы о таких мелочах не задумываетесь?
ответить
From anon (unverified) Fri Jul 19 11:22:35 2024 UTC
Re: Re: Идеальный язык и исключения
> Вы понимаете, что сделав longjmp, вы их перепрыгнете?
И правда не подумал, спасибо что указали на этот момент :)
Изначально, я вопрос задавал, потому что сам свой язык пишу, как раз вдохновившись InteLib, но разочаровался, узнав что там нету лисповых макросов для создания абстракций, а ведь в них главная фишка лиспа. У меня была идея сделать zero-runtime лиспо-подобный язык который транспилируется в усеченное подмножество ANSI C (для написания полноценного компилятора под все процессорные архитектуры и ОС у меня нет ни времени ни навыков), но судя по тому что вы написали, возможно мне реально стоит бросить эту затею и пойти перечитать ваши книги до полного просветления.
ответить
From Andrey V. Stolyarov Fri Jul 19 11:30:46 2024 UTC
Re: Идеальный язык и исключения
> zero-runtime лиспо-подобный
Это взаимоисключающие параграфы. Лисп по своей природе совершенно категорически никак не фоннеймановский, так что для его реализации на машине фон Неймана (а это любой реально существующий компьютер) необходимо что-то. Виртуалка, не виртуалка, эмулятор, не эмулятор, в общем какая-то такая штуковина, которая заставляет S-выражения и их вычисление жить на машине фон Неймана. Вот это вот "что-то" и будет неотстригаемым рантаймом.
А макросы (почти commonlisp'овские, чуть-чуть не хватает до совместимости) в InteLib'е вообще-то есть, но сильно не в почёте. Просто потому что не нужны.
ответить
From anon (unverified) Fri Jul 19 11:41:45 2024 UTC
Re: Re: Идеальный язык и исключения
Ну, видимо у нас разное понимание, что такое Лисп. Я скорее имел ввиду просто использовать скобочный синтаксис, так как он упрощает написание парсера, облегчает написание макросов, не навязывает программисту синтаксис и приоритеты операций. А семантика в таком языке будет чисто сишная, со всеми ее плюшками.
ответить
From Andrey V. Stolyarov Fri Jul 19 12:22:57 2024 UTC
Re: Идеальный язык и исключения
Вот уж парсер-то написать, гм... Едва ли не самое простое, что есть при реализации языка. На всякий случай, вы же знаете, что такое "рекурсивный спуск"?
ответить
From anon (unverified) Fri Jul 19 12:56:00 2024 UTC
Re: Re: Идеальный язык и исключения
Да знаю, естественно, но скобочки все равно упрощают. С другой стороны, возникает вопрос, какой конкретно из этапов настолько сложный, что останавливает вас от написания идеального языка?
ответить
From Andrey V. Stolyarov Fri Jul 19 14:10:05 2024 UTC
Re: Идеальный язык и исключения
Меня останавливает сложность задачи в целом. Между прочим, несмотря на достаточно подробные описания того, что я хотел бы видеть на выходе, до конца я себе этот язык всё ещё не вполне представляю.
ответить
From uf4n (unverified) Sat Jul 20 19:24:52 2024 UTC
Re: Re: Идеальный язык и исключения
Может быть, не за горами день, когда вы объявите сбор пожертвований на разработку компилятора идеального языка : )
ответить
From Andrey V. Stolyarov Sat Jul 20 19:40:56 2024 UTC
Re: Идеальный язык и исключения
Денег на это надо много, а людей, понимающих, зачем это всё надо — мало. Так что вряд ли.
ответить
From anon (unverified) Sun Jul 21 09:13:14 2024 UTC
Re: Re: Идеальный язык и исключения
Меня останавливает сложность задачи в целом.
А такой язык вообще возможен? Помню, в третьем томе вы писали об Ousterhout's dichotomy (не помню, как по-русски он пишется). И из той диаграммы кажется, что нельзя сделать именно один универсальный язык программирования.
ответить
From Andrey V. Stolyarov Sun Jul 21 09:56:33 2024 UTC
Re: Идеальный язык и исключения
Один для всего — конечно нельзя, и следует это не из диаграммы (которая с появлением всяких Haskell'ей изрядно устарела) и даже не из дихотомии Оустерхаута в её исходной формулировке. Невозможность одного языка для любых случаев, когда надо записать алгоритм, чтобы он потом выполнялся без участия человека, следует из того, что самостоятельные программы необходимо писать на языках чисто компилируемых, тогда как скриптовые языки и встраиваемые DSLи должны быть, напротив, полностью интерпретируемыми. В книжке я на это потратил целую главу (12.5), но вы из всей той главы, видимо, предпочли только посмотреть картинки.
Здесь обсуждается идеальный идеальный язык общего назначения, т.е. такой, на котором пишутся самодостаточные программы. Для скриптового и прочего встраиваемого применения, с моей точки зрения, идеальный язык уже есть, и это как раз Tcl, созданный тем самым Оустерхаутом.
ответить
☞ From Anonymous (unverified) Tue Jul 16 22:02:15 2024 UTC
Новости на 2 страницах
Если зайти на http://stolyarov.info, то вверху видна новость "Журналы пожертвований", если зайти на http://stolyarov.info/news.html, то вверху видна новость "Очередная авария". Это не баг?
ответить
From Andrey V. Stolyarov Tue Jul 16 22:39:49 2024 UTC
Re: Новости на 2 страницах
Нет, это называется "кеш браузера". Нажмите F5.
По ходу, публика отвыкла от этого дела, ибо "современные" (читай — погаными безмозглыми жопорукими бабуинами склёпанные) сайты все сплошь отдают только такой контент, который генерится непосредственно в ответ на каждый запрос, а такое согласно протоколу не кешируется.
ответить
From Yury (unverified) Wed Jul 17 09:51:38 2024 UTC
Re: Re: Новости на 2 страницах
Да не, генерация на каждый запрос - это уже прошлый век (PHP) :). Сейчас как раз HTML/CSS/JS статические, а само содержимое страницы генерируется скриптами, запрашивая контент у сервера через кучу отдельных HTTP-запросов. :D
ответить
From Andrey V. Stolyarov Wed Jul 17 09:54:30 2024 UTC
Re: Новости на 2 страницах
Я и говорю, только массовые расстрелы спасут человечество.
ответить
☞ From + (unverified) Tue Jul 16 21:05:11 2024 UTC
Thalassa CMS и существующие сайты
У вас нет в планах создать список сайтов, которые поддерживаются Талассой? Очень интересно увидеть, сколько их уже и как они будут пополняться. Ну и плюс побывать на них, вдруг имеются такие тематики, которые кому-то, допустим, были бы интересны. Когда-то обсуждали тут тему каталога с сайтами без JS - нормальных сайтов реально не хватает. Куда не зайдешь - везде пишут что без скриптов не работаем. Очень приятно залетать на всякие ресурсы без задержек!
ответить
From Andrey V. Stolyarov Tue Jul 16 22:42:08 2024 UTC
Re: Thalassa CMS и существующие сайты
> список сайтов
http://thalassa.croco.net/moreinfo.html Есть даже инструкция, как в этот список попасть.
А что там ничего нет, кроме моих же собственных сайтов — так это вопрос не ко мне.
ответить
☞ From Сергей (unverified) Mon Jul 15 08:29:02 2024 UTC
Готовим детей
Андрей Викторович, здравствуйте! Прежде всего хочу поблагодарить Вас за труд и те знания, которыми Вы делитесь с людьми, от чего и желаю Вам счастливой жизни и крепкого здоровья! Хочу попросить Вашего совета. Моему сыну 14 лет. Я хочу ему подарить старенький и слабенький (причина очевидная) ноутбук и установить на него Linux. Своей целью я ставлю с одной стороны занять его чем то интересным, с другой - подготовить сына к изучению Ваших книг. Наличия одного ноутбука недостаточно. Необходима литература, доступная к пониманию школьника 7 класса, что бы он не просто сидел и смотрел в дисплей, а с пользой проводил время. Нужна теория и практика. Возможно ему не зайдет эта тема и я не стану заставлять его в дальнейшем. Т.к. Вы преподаватель, и в Ваших словах я нахожу отклик и согласие в своем уме, потому и решил задать подобный вопрос именно Вам и именно здесь, т.к. скорее всего я не один такой родитель, и подобный вопрос хочет задать Вам ещё кто-нибудь. Возможно я чего то не понимаю и мой вопрос, публикуемый в гостевой книге не имеет место быть, тогда я заранее прошу прощения и даю свое согласие на отказ в публикации. Подводя вышесказанное, посоветуйте какую-нибудь книгу или книги к изучению. С уважением, Сергей.
ответить
From Andrey V. Stolyarov Mon Jul 15 08:39:16 2024 UTC
Re: Готовим детей
Я не вполне понимаю, в чём конкретно состоит ваш вопрос. Книг по линуксу, специально ориентированных на семиклассников, я никогда не видел. Больше того, я никогда сам не работал со школьниками младше 11го класса, и как это всё делается, со всей этой возрастной психологией и прочей педагогикой, как работают с мотивацией и вот это вот всё — не представляю даже близко.
ответить
From Василий (unverified) Tue Jul 16 08:56:49 2024 UTC
Re: Готовим детей (Отзыв такого сына)
> Моему сыну 14 лет. Я хочу ему подарить старенький и слабенький (причина очевидная) ноутбук и установить на него Linux.
Примерно похожим образом со мной поступила моя матушка в таком же возрасте (сейчас мне 26). Отдала мне старенький компьютер, накатила на него Debian, если правильно помню тогда была 6-ая версия, а дальше 2.7бись сам.
В общем, занимался тем, что пытался поставить себе хоть какие-нибудь игрушки с переменным успехом, да и просто красиво себе Desktop настроил не более. И немного "программировал" на Ruby, т.к. мне этот язык дали как стартовый, тем самым меня травмировав.
В общем, толку от этого было что-то около нуля, если не вред. С друзьями в компьютер не поиграть, можно только было чесать ЧСВ: "У меня Linux, а вы -- лохи".
Мысленно я иногда ставлю эксперимент: как надо было родителю поступить в той ситуации, т.к. я себя ребёнком хорошо помню, когда мозг работал как-то совсем иначе. К сожалению, никакого решения не могу найти. Могу только отметить несколько пунктов, до которых я додумался, относительно СЕБЯ.
На этом пока всё. Если пройду премод и ещё что-то вспомню, накатаю ещё пунктов.
Я думаю, если вы так поступите, ваш сын просто залипнет в браузер, ибо в нём полноценная виртуальная машина, в которой "уже всё просто работает" и "им пользуются все мои друзья", когда с Linux как-то всё же надо повозиться.
Я бы посмотрел немного в сторону разработку чего-либо на смартфон (сейчас Андрей Викторович меня побьёт не только санной, но ещё и обосранной тряпкой), т.к. по моим наблюдениям как на работе, так и в университете уже у многих нет ПК, но при этом есть смартфон, на котором работают с документами и пр. подобное. Но как к этой задаче подступиться -- хз.
Я на текущем своём этапе использую Termux + дистрибутив Ubuntu через PRoot, чтобы на нём компилировать свои полноэкранные программки написанные на Pascal'е, мне этого пока хватает.
Тут на сайте я читал, как был успешный заход в программирование через функциональную парадигму, а также упоминался вариант использования Clojure для JVM. Но мне пришлось данный вариант откинуть, т.к. для того же Android это делается через ClojureScript "диалект кложи, который компилится в JS" (с) или ClojureDart, что для меня примерно тоже самое.
ответить
From Andrey V. Stolyarov Tue Jul 16 09:04:16 2024 UTC
Re: Re: Готовим детей (Отзыв такого сына)
Путь у каждого свой, вряд ли с этим можно что-то сделать. Вообще по моим наблюдениям попытки целенаправленной деятельности по "изготовлению" из ребёнка чего-то такого, чего хотят родители, в большинстве случаев номер дохлый.
ответить
From Василий (unverified) Tue Jul 16 09:20:51 2024 UTC
Re: Re: Re: Готовим детей (Отзыв такого сына)
Полностью с вами согласен.
Я говорю скорее про "дать возможность" ребёнку двигаться в этом направлении. Но вполне может оказаться, что ребёнку это нафиг не надо и в этом случае родителю надо дать заднюю. Что вполне, казалось бы, очевидно, но практика часто показывает обратное. Поэтому про это отдельно пишу комментарий.
ответить
From Artem (unverified) Tue Jul 16 13:09:16 2024 UTC
Re: Готовим детей (Ответ другого сына)
>> С друзьями в компьютер не поиграть
И всё, абзац. Сейчас, однако, проблем с играми, включая онлайновые, на линуксах нет, по крайней мере, с большей частью игр, имеющихся в Steam.
Игры это, по моим наблюдениям, самый верный и самый частый вход во всё, связанное с IT. Но очень мало кто из тех, кто в детстве ковырял конфиги, скрипты и память игр, применяет полученные навыки в дальнейшем, и практически никто не задумывается, по какой конкретно причине игра изменяется, и в голове не укладывается ничего, кроме быстро забывающегося набора заклинаний.
Я это к чему говорю: нет никаких гарантий, куда там детёныш залипнет, и что его заинтересует. И нет ни одного способа определить, во что это выльется, когда оно подрастёт. Можно лишь гадать, что детёнышу будет лучше, и очень повезёт, если угадать удастся. Да и это самое "лучше" тоже для каждого своё, и наверняка у детёныша будет совсем другое мнение, когда он вырастет.
Меня отец и по сию пору спрашивает, когда же я, наконец, наиграюсь в свои игрушки, и начну пользоваться нормальной ОС. Игрушки это линукс, а нормальная ОС это винда, если что. В детстве, разумеется, ни о чём, кроме нормальной ОС, на домашнем компе не могло быть и речи, а от всего, связанного с программированием, меня старательно ограждали, ведь "сейчас программы сами себя пишут, нечего там делать". И ведь в своей картине мира он абсолютно прав, и останется прав, что бы из меня в итоге не вышло. Маленькая ремарка: мы с вами ровесники, и я только что закончил 2 курс очного бакалавриата, лол.
ответить
From Andrey V. Stolyarov Tue Jul 16 13:15:59 2024 UTC
Re: Re: Готовим детей (Ответ другого сына)
> И ведь в своей картине мира он абсолютно прав
По мне так родители "правы в своей картине мира" в одном и только одном случае: если они понимают, что у детей своя собственная жизнь, лезть в которую даже с простыми советами с какого-то момента становится неуместно, и этот момент наступает как максимум лет в шестнадцать.
А патернализм (вот это вот "ну мы же ему желаем добра") — это один (!) из всего лишь двух (!) корней всего мирового зла, вот в этом я глубочайшим образом убеждён. Патерналистской риторике оправданий быть не может, даже когда речь идёт о родителях и детях.
ответить
From merino (unverified) Tue Jul 16 14:01:56 2024 UTC
Re: Re: Re: Готовим детей (Ответ другого сына)
А какой второй корень?
ответить
From Andrey V. Stolyarov Tue Jul 16 14:15:42 2024 UTC
Re: Готовим детей (Ответ другого сына)
Служенчество. Жизненное предназначение, путь самурая, вот это вот всё. Иначе говоря, когда человек всерьёз полагает, что для него что-то (притом абсолютно неважно, что именно) может быть важнее, нежели его собственные шкурные интересы.
Точнее, это как раз первый корень, а патернализм — второй.
ответить
From Parthen (unverified) Tue Jul 16 14:16:02 2024 UTC
Re: Re: Re: Готовим детей (Ответ другого сына)
>А патернализм (вот это вот "ну мы же ему желаем добра") — это один (!) из всего лишь двух (!) корней всего мирового зла, вот в этом я глубочайшим образом убеждён.
Огласите весь список, пожалуйста
ответить
From Andrey V. Stolyarov Tue Jul 16 14:38:40 2024 UTC
Re: Готовим детей (Ответ другого сына)
Уже огласили, см. выше. Синхронность впечатляет, вы тут что, непрерывно сидите и F5 жмёте?
ответить
From Parthen (unverified) Tue Jul 16 17:16:49 2024 UTC
Re: Re: Готовим детей (Ответ другого сына)
Ну, есть три сайта, которые у меня в закрепе на главной странице браузера: Ютуб, old Реддит, и stolyarov.info. Когда становится скучно, захожу на один из них.
Я конечно не считал, но думаю раз 20 в день я в гостевую захожу.
(Хотя, честно признаюсь, лучше бы сидеть на infoviolence - но там обновления сильно реже)
ответить
From Andrey V. Stolyarov Tue Jul 16 18:15:26 2024 UTC
infoviolence
Скоро станут чаще. Мне тут долго было не до видосов, но сейчас накопилось всякого, аж изнутри распирает.
ответить
From Anonymous (unverified) Tue Jul 16 19:23:48 2024 UTC
Re: Re: Готовим детей (Отзыв такого сына)
А мои родители в мои 16 лет просто купили мне комп при этом сами в компьютерах ничего не понимая и это я их пытался учить как им пользоваться, а не они меня.
К тому, что надо бы поставить линукс я пришел исходя из книг по информатике, где упоминалось, что существуют вещи, которые во многом лучше мейнстрима, но которыми мало кто пользуется.
ответить
From Andrey V. Stolyarov Tue Jul 16 19:48:31 2024 UTC
Re: Готовим детей (Отзыв такого сына)
Повезло, правильная книжка попалась. Ну то есть вероятнее всего вы бы к этому всё равно пришли, просто, возможно, не так быстро.
ответить
From Anonymous (unverified) Wed Jul 17 03:08:03 2024 UTC
Re: Re: Готовим детей (Отзыв такого сына)
Книга называлась "Энциклопедия для детей: Информатика", издательство Аванта+. Мне родители купили почти всю серию по разным предметам.
Не знаю, может быть. У меня, когда появился интернет, любимым развлечением на компьютере было скачивать всяякие программки, устанавливать и тыкать их. Программки, конечно, под винду были сперва. Но я и операционные системы пытался скачивать и запускать, например однодискетные дистрибутивы GNU/Linux, MenuetOS и KolibriOS. Понятно что что-то побольше на 56k модеме по 20 рублей в час не скачаешь.
ответить
From Andrey V. Stolyarov Wed Jul 17 07:24:10 2024 UTC
Re: Re: Re: Готовим детей (Отзыв такого сына)
> на 56k модеме по 20 рублей в час
Давно, видать, дело было. Айтишные корпорасты тогда ещё не успели совсем о$$еть, как сейчас.
Ну в общем индивидуальные склонности решают, на вашем примере это видно. Не попалась бы книжка — путь оказался бы чуть-чуть другим, но результат плюс-минус тем же.
ответить
From Василий (unverified) Tue Jul 16 20:27:49 2024 UTC
Re: Re: Re: Готовим детей (в панировке)
> я их пытался учить как им пользоваться, а не они меня.
Кстати, ИМХО это отличный вариант. "Хочешь научиться сам -- научи другого". Плюс, молодой человек понимает что родитель не всесилен.
ответить
From Oliver (unverified) Wed Jul 17 07:17:30 2024 UTC
Re: Re: Готовим детей (Отзыв такого сына)
> В общем, толку от этого было что-то около нуля, если не вред.
Все разумеется зависит от ребенка. Моему вот во время ковида наверное было 12 или 13 лет. Был комп, был Девуан на нем, и в школе была удаленка. Мой малой без меня поставил нужную программу, а потом нашел и установил нужные зависимости. Потом ему подарили новый ноут, на котором была предустановлена ОС одной хорошо изестной компании, но малой выбрал Линукс. Сегодня разумеется у него нет проблем в том числе и поиграть на Линуксе: сам все настраивает без меня. Пример не для того, чтобы похвалиться, а для того, чтобы показать, что можно и нужно ребенку в 14 лет давать пробовать работать с Линуксом. Я бы скащал, что уже в лет 11, 12 или 13 это можно делать, иначе есть риск, что ребенок будет пользоваться одной небезызвестной ОС и думать, что это есть хорошо. Следовательно тезис "Я думаю, если вы так поступите, ваш сын просто залипнет в браузер, ибо в нём полноценная виртуальная машина, в которой "уже всё просто работает" и "им пользуются все мои друзья", когда с Linux как-то всё же надо повозиться" не совсем верным будет. Не со всеми такое случается. Видимо Вам мамочка просто до этого мало дала информации, как вариант.
ответить
From Andrey V. Stolyarov Wed Jul 17 15:26:02 2024 UTC
Возрастные ограничения
Я сильно подозреваю, что Linux можно "давать пробовать" ровно с того же возраста, с какого вообще любые компьютерные устройства, не исключая смартфона. Точнее, я бы поостерёгся смартфоны детям давать, вот уж совсем не игрушка, но уж если кто считает, что сматрфон можно — то уж линукс и подавно.
ответить
☞ From гость (unverified) Sun Jul 14 16:43:13 2024 UTC
Выбор рабочей станции в современных реалиях
Андрей Викторович, здравствуйте. Вопрос касаемо приобретения рабочей станции для последующего пользования как основной личной машиной и для самообучения. В контексте сегодняшней техники с повсеместной проприетарщиной и блобами, хотелось бы узнать у вас, что на текущий момент является наиболее оптимальным для покупки. Старых и никому не нужных ноутбуков, к сожалению, нет. Старого ПК, соответственно, тоже. Из того, что сегодня можно купить в магазине, это ноутбуки по дикому оверпрайсу с предустановленными форточками (которая, разумеется, выливается в копеечку при ценообразовании). Из того, что можно собрать самому: процессоры от amd на AM5/AM4 сокете. С материнками тоже нынче бывают подводные. Видюха в общем-то не нужна, встроенная графика вроде бы должна всем устраивать.
Что покупать и из чего выбирать?
ответить
From Andrey V. Stolyarov Sun Jul 14 21:42:58 2024 UTC
Re: Выбор рабочей станции в современных реалиях
> Старых и никому не нужных ноутбуков, к сожалению, нет. Старого ПК, соответственно, тоже.
Плохо ищете. Ищите лучше.
ответить
From anonymous (unverified) Sun Jul 14 22:29:33 2024 UTC
Re: Выбор рабочей станции в современных реалиях
Совершенно не мое дело, но не удержался пройти мимо :)
Единственная ситуация, в которой я могу здраво воспринять и понять смысл вашего комментария - это факт вашего проживания где-то на территории Африки или Гренландии.
В России в любом - от, скажем, 100 тыс. чел. населения - городе всегда продаётся достаточно много старых ноутбуков и компьютеров. У меня к старой с разной степенью винтажности технике есть пристрастие, и я себе уже целую гору вполне рабочего старья купил в пределах 5 т.р - все в среднем двухъядерное до 2 ГГц и до 4 Гб оперативной памяти. Для освоения трёхтомника этого вполне достаточно.
Для жизни под юникс-подобными операционными системами лично мне требуется не меньше 2 ГГц частоты процессора и 4 Гб оперативной памяти. Такое в современной России можно найти за 10-15 т.р без особых проблем.
"Удобнее" всего искать такое, конечно, с помощью т.н. "сайтов объявлений". Если не хотите с таким связываться - как вариант, зайдите в ломбард. Старые ноутбуки всегда там можно найти, лично мне не удавалось поймать момент, когда их там совсем никаких нет в наличии.
В городах покрупнее частные компьютерные магазины есть почти всегда, и предложения там на любой вкус, и обычно есть полная возможность купить компьютер под ваши пожелания без необходимости связываться с крупными торговыми сетями, если вы таковые не любите. Иногда в таких местах можно найти хорошие старые комплектующие, из которых можно собрать достойный компьютер.
Демонизировать крупные сети вполне есть за что, но неоспоримого факта всё-таки не отменить - почти всегда у них есть в наличии машины без предустановленных форточек. Иногда даже с предустановленным линуксом.
Это я всё про российскую действительность, конечно. Если вы живёте на западе и у вас нет ни единой из вышеописанных возможностей - ну-с, похоже, не врали: реально загнивает :-D
ответить
From Parthen (unverified) Mon Jul 15 01:01:39 2024 UTC
Мои 5 копеек
Тоже влезу, тоже непрошенно
Собирать компьютер по ломбардам и авито чревато:
1) Всяческими отвалами комплектующих
2) Несовместимостью всего этого китайского барахла с Линукс системами
Не, это конечно весело и познавательно, мои первые компы так и собирались. Но это развлечение на уровне покупки старого мотоцикла - "день едешь, два чинишь".
По делу - советую ТС оригинальные Thinkpad'ы. Они неубиваемые, часто использовались в офисах (а потому их легко купить "с рук") и в большинстве своем у них заявлена поддержка Линукс-систем, так что проблем с драйверами не будет.
ответить
From Anonymous (unverified) Mon Jul 15 06:57:15 2024 UTC
Re: Выбор рабочей станции в современных реалиях
Если именно рабочей станции, то Talos II (и может что-то из серии) — единственный современный компьютер, не требующий для работы проприетарного кода.
https://www.raptorcs.com/TALOSII/
Некоторые ноутбуки Thinkpad позволяют установить на них LibreBoot, например Thinkpad X200. Если добавить ещё и обезвереженный ME-регион, то возможно установить и на более новые машины, вроде X220, может даже 230, но лучше посмотрите сами, прежде чем покупать, я могу что-то путать.
Но эти ноутбуки уже слегка устарели. Если не обращать внимание на проприетарный BIOS, то выбор становится намного шире, например в Китае можно купить мини-компьютеры в цельнометаллическом корпусе без вентиляторов на базе Intel Core i3-5005U и подобных. Есть даже с COM-портом. При нагрузке корпус нагревается где-то до 50°C.
Правда там предустановлена корпоративная Windows 10, но я полагаю, что китайцы не дураки и отдельно конкретно за лицензию на эту машину не платили.
Ещё у меня есть китайская машина на N100, там охлаждение уже не пассивное, хоть и тихое и пока бесшумное, корпус пластиковый, зато поддержка более современных M.2 NVMe SSD, вместо mSATA, правда зато нет поддержки просто SATA. Там мне попался кривой UEFI, который непонятно как выбирает, какую ОС загрузить. Но это не проблема, если нет мультибута и ОС только одна. Ещё одна проблема в том что почему-то лог загрузки линукс не скроллится по Shift-PgUp и не получается посмотреть почему загрузку выбило на этапе initramfs. В итоге я исхитрился и загрузил эту же систему на упомянутой 5005U и там скролл был.
В целом в Китае продаётся полно мини-ПК на любой вкус, от упомянутой цельнометаллической за 10 тысяч вплоть до AMD Ryzen 9 7940HS с 64 гигабайтами оперативки и двумя терабайтами SSD за примерно 80 тысяч.
ответить
From Andrey V. Stolyarov Mon Jul 15 08:47:01 2024 UTC
Re: Выбор рабочей станции в современных реалиях
Всегда считал паранойю самым важным личным качеством любого компьютерщика, но до такой степени проработки вопроса никогда не доходил.
ME вроде бы само по себе никаких пакетов никуда не посылает (на эту тему месяцами тщательно снифили трафик, ничего не нашли), так что пока машинка сидит за NATом, вроде бы ничего страшного происходить не должно. Хотя, конечно, никто этим сволочам не помешает изменить подход в следующих версиях.
Ну и если когда-нибудь всё-таки произойдёт переход на IPv6, придётся намного тщательнее следить за происходящим. Но я по-прежнему практически уверен, что IPv6 не станет основным протоколом Интернета никогда.
ответить
From Anonymous (unverified) Mon Jul 15 10:24:48 2024 UTC
Re: Re: Выбор рабочей станции в современных реалиях
Ну, учитывая что у достаточно старых чипсетов можно почистить ME-регион до минимально необходимого для того, чтобы комп как-то стартовал, почему бы это не сделать? Всего-то надо заранее выбрать такую материнку, которая поддерживается и в Coreboot, и в me_cleaner и прошить её. Программатор стоит не так уж и дорого по сравнению с новым компом, тем более для многих достаточно простенького за 300 рублей с прищепкой так что даже выпаивать не надо.
У меня Thinkpad X200 почищен, но там ME регион можно просто удалить полностью и комп стартует. А китайские машины не почищены, но они и не подключены к инету. Если буду подключать, провентилирую тему, как там с чисткой ME и Coreboot. Но они были куплены собственно для экспериментов с новомодным UEFI, поскольку на всех остальных машинах у меня классический BIOS, поэтому я не спешу что-то делать.
ответить
From Andrey V. Stolyarov Mon Jul 15 13:39:36 2024 UTC
Re: Re: Re: Выбор рабочей станции в современных реалиях
Программатор мало купить, его надо ещё и уметь.
ответить
From Anonim (unverified) Fri Jul 19 02:39:40 2024 UTC
Re: Re: Выбор рабочей станции в современных реалиях
Это интересно. Можете раскрыть мысль, пожалуйста? Какую роль будет играть IPv6 в будущем (количество устройств подключенных по нему будет ведь расти?) и почему он все-таки не станет основным протоколом?
ответить
From Andrey V. Stolyarov Fri Jul 19 09:47:07 2024 UTC
Re: Выбор рабочей станции в современных реалиях
Подробный комментарий на эту тему содержится во втором томе трёхтомника "Введение в профессию", см. конец параграфа 6.2.3 — там примерно две страницы, набранные мелким шрифтом. Чего я не понял, так это что вы (и такие как вы) забыли на моём сайте.
ответить
From Anonymous (unverified) Sun Nov 17 08:26:59 2024 UTC
Re: Re: Выбор рабочей станции в современных реалиях
Раз уж кто-то этой темой интересуется, дополню. Windows 10 корпоративная через полгода внезапно решила что с лицензией что-то не так, не смотря на то, что этот компьютер ни разу не был подключен к интернету. В углу появилась надпись что там что-то пробное и тд, причём поверх всех окон, но её удалось вылечить скриптом, который так же как и всё остальное был притащен на флешке.
Оба этих компа всё ещё используются в основном для экспериментов с проприетарным софтом, который мне бы не хотелось запускать на основном компе даже в виртуалке, а то мало ли там автоматом проброс сети включится, а я не замечу.
Одно дело когда проприетарные трояны заставляют переустановить или поковырять систему которая на компе, включемом раз в месяц без которого легко можно обойтись, а другое когда работа от этого встаёт колом. Не понимаю тех кто пользуются Windows на основном компе.
ответить
From Andrey V. Stolyarov Sun Nov 17 09:01:09 2024 UTC
Re: Выбор рабочей станции в современных реалиях
"Несмотря на" пишется так: "несмотря" — вместе, "на" — отдельно.
С сутью согласен.
ответить
From Artem (unverified) Sun Nov 17 17:55:08 2024 UTC
Re: Re: Re: Выбор рабочей станции в современных реалиях
>> Не понимаю тех кто пользуются Windows на основном компе
А чего тут понимать-то? Задачу надо решать здесь и сейчас, а на компьютере винда _уже_ стоит, навыки работы с ней _уже_ есть, профит ясен и близок, и ясно, как его достичь. А этот ваш линух надо ставить, учиться заново, а будет ли полезный выхлоп на самом деле, это ещё большой вопрос. Люди всегда предпочитают известные и привычные проблемы неизведанным, даже если неизведанные обещают быть меньшими. Это логично, ведь обещания могут быть ложны, а жизнь коротка.
P.S. Глядя на то, как компьютером пользуюсь я, люди получают прививку от линукса на многие годы, потому что там же Мать Его Терминал. Только многодневная гномотерапия помогает, и то не всем.
ответить
From a (unverified) Mon Nov 18 14:30:07 2024 UTC
Re: Выбор рабочей станции в современных реалиях
> Только многодневная гномотерапия помогает, и то не всем.
А не слишком ли гномоинтерфейс далёк от виндузятского?
Я не очень ориентируюсь в современной виндe, но тем, кто привык к классическому виндовому интерфейсу, неплохо заходит что-нибудь вроде IceWM.
Ну и подсаживать людей на гном тоже, знаете ли, далеко не улучшает карму.
ответить
From Artem (unverified) Mon Nov 18 21:05:17 2024 UTC
Re: Re: Выбор рабочей станции в современных реалиях
Не знаю, в чём измерять отдалённость интерфейсов, но почему-то нравится им именно гном, обычный либо с альтернативной оболочкой вроде cinnamon. Самые отбитые садятся на KDE, на этом поиски интерфейса мечты заканчиваются.
А что есть "классический виндовый интерфейс"? Для меня это "классическая" тема из XP, а для тех, с кем я сейчас обычно общаюсь, это скорее Aero, или вообще ModernUI.
Гномотерапию проводят другие люди, и моего мнения они, как ни странно, не спрашивают :) А мне, честно говоря, пофигу, кто на чём сидит. И уж тем более никого ни на что подсаживать или пересаживать я не собираюсь, это отнимает немало сил, и при этом начисто лишено смысла, и вообще как-то, ну, бестактно, что ли.
ответить
From Владислав (unverified) Mon Jul 15 17:08:25 2024 UTC
Выбор звуковой карты
Могу посоветовать внимательней подойти к выбору звуковой карты, если вы, конечно, соберётесь её себе приобретать.
Сам недавно приобрёл себе карту чтобы звук получше стал и чтобы избавиться от помех. Постоянно слышу в наушниках как работает головка жёсткого диска. Модель Asus DG (интерфейс PCI). Только после покупки узнал, что для этой модели можно аппаратно регулировать громкость только для наушников. Получается, что в передней панели я звук регулировать могу, а звук в колонках, которые воткнуты сзади -- нет.
Можете проверить свою модель вот на этом сайте:
https://www.alsa-project.org/wiki/Matrix:Main
ответить
☞ From Thalassa CMS (unverified) Sun Jul 14 14:31:07 2024 UTC
userpic
Установил аватарку для аккаунта. Назвал фотографию по названию идентификатора пользователя, размер юзерпика 68x85. Отлично отображается в предпросмотре комментариев, все хорошо и на странице пользователя (где отображается имя, идентификатор и аватарка). Но вот проблема - при публикации комментария аватарка не показывается по совершенно неясным причинам. Как такое может быть? Предпросмотр же показывает все корректно. Версия Thalassa новая если что, самая новая. Используется шаблон templ_smoky
ответить
From Andrey V. Stolyarov Sun Jul 14 15:02:07 2024 UTC
Re: userpic
Это уже проще, проблема наверняка в путях к той директории, которая содержит эту вашу аватарку. У генератора (т.е. самой Талассы, в смысле бинарника thalassa) и у CGI-программы совершенно разное виденье путей, поскольку они работают из разных директорий. Пока вы смотрите всякие превьюшки, CGI-программа до вашей аватарки добирается корректно, а когда дело доходит до генерации — thalassa уже со своей колокольни (из той директории, где исходники сайта) директорию с аватарками не видит.
По идее если в config.ini всё правильно прописано, такого быть не должно, но практика может с идеями расходиться. К сожалению, не видя ни машины, ни того, как у вас друг относительно друга расположены исходники сайта, директория с аватарками и веб-директория, я ну никак не смогу определить, что, где и как пошло не так.
ответить
From Thalassa CMS (unverified) Sun Jul 14 15:45:21 2024 UTC
Re: Re: userpic
Подскажите пожалуйста, какой из 4 путей отвечает(или может отвечать) за корректный просмотр? target, spool, userdbdir или sitesrc? У меня директория с аватарками лежит там же, где и сам сайт(не исходники). Я не могу понять почему все работает кроме одних автарок, по идее некорректные пути должны были мне отрезать хорошую часть возможностей (как это было с другими ошибками раньше)
ответить
From Andrey V. Stolyarov Sun Jul 14 15:52:52 2024 UTC
Re: Re: Re: userpic
> У меня директория с аватарками лежит там же, где и сам сайт(не исходники).
Ага, тогда дело ровно в этом, под такой вариант Smoky не заточен, как и сама Таласса. Дело в том, что директория, где лежит сайт, предполагается, что существует временно, до следующей полной перегенерации (thalassa gen -r её переименует и на её месте новую сделает). Поэтому, соответственно, НЕ предполагается, что в этой директории будет храниться что-то сколько-нибудь ценное — только результат генерации, который можно перегенерировать в любой момент за несколько секунд.
Попробуйте директорию с аватарками переместить туда, где исходники, и там её обозвать "userpic" (вот ровно так, ни буковкой ни в ту, ни в другую сторону). Таласса при генерации сайта будет эту директорию "публиковать" ровно туда, куда надо (соответствующие директивы есть в base/base.ini), но при этом она ещё и будет видеть лежащие в этой директории юзерпики. thalcgi.cgi будет видеть уже "опубликованную" (читай - скопированную) директорию в вашем веб-пространстве.
ответить
From Thalassa CMS (unverified) Sun Jul 14 15:59:31 2024 UTC
Потрясающе
Оно сработало! Спасибо!!!
ответить
☞ From Student (unverified) Sat Jul 13 21:53:27 2024 UTC
Архитектура ЭВМ на базе RISC-V
Добрый день!
В программе второго семестра ВМК МГУ есть курс архитектуры ЭВМ и языка ассемблера. Есть ли смысл переводить этот курс на базу RISC-V?
В качестве аргумента "за" указывается, что у RISC-V система команд более стройная и логичная, чем у x86. Однако есть риск, что в качестве рабочей среды будет использован эмулятор RARS.
Честно говоря, я не представляю, как можно всерьёз заниматься программированием в эмуляторе. Возможно, его сравнивают с эмулятором MASM, а не с нативной трансляцией через NASM. Но кажется, что полноценная сборка руками через NASM+GCC позволяет гораздо лучше прочувствовать, что происходит, и добавляет какой-то осмысленности, что ли. Сейчас получается, что если я захочу настоящую программу собрать под RISC-V (и эмулятор меня не устраивает), то нужно будет повозиться с QEMU, раздобыть дистрибутив под RISC-V. Как будто просто порог входа повышают для энтузиастов без большого профита (субъективно для меня, по крайней мере).
ответить
From Andrey V. Stolyarov Sat Jul 13 22:05:38 2024 UTC
Re: Архитектура ЭВМ на базе RISC-V
Лично я всегда говорил, что эмуляторы в обучении программированию недопустимы, и если у вас нет класса машин соответствующей архитектуры, то не может быть вообще никакой речи о курсе "Арх.ЭВМ" на основе такой архитектуры.
Но я много чего говорил — в частности, о категорической недопустимости Си в первом семестре (в итоге огребли буквально всё, о чём я предупреждал ещё в 2010 году). А ещё о том, что факультет якобы computer science, выпускники которого не имеют понятия о частично рекурсивных функциях — это даже не нонсенс, это преступление.
К счастью, я уже больше двух лет никакого отношения к МГУ не имею и мне более-менее всё равно, что там сейчас творится. Предвидя следующий вопрос: нет, хорошо там стать не может. Поздно, точку невозврата давно и прочно проскочили.
ответить
From asb (unverified) Mon Jul 15 22:57:08 2024 UTC
Re: Архитектура ЭВМ на базе RISC-V
Есть ещё ж RISC-V микроконтроллеры, 32-битные в районе 10 долларов (недавно заказал себе такой для экспериментов), 64-битные в районе сорока, правда выбор поменьше. Полноценный риск комп с графонием обойдется в целого Франклина 0_0
Так что есть варианты помимо Qemu.
ответить
From Andrey V. Stolyarov Mon Jul 15 23:09:05 2024 UTC
Re: Re: Архитектура ЭВМ на базе RISC-V
Как вы себе представляете компьютерный класс с этими микроконтроллерами, особенно если учесть, что схемотехника на этом факультете не затрагивается вообще, совсем, даже краем?
ответить
From asb (unverified) Tue Jul 16 17:49:38 2024 UTC
Re: Re: Re: Архитектура ЭВМ на базе RISC-V
Я это писал юзеру, который выше страдал что у него только один вариант - QEMU. Если не эмуляторы, то для массового обучения институтам стоит разоряться на что-то вроде VisionFive2, наверное (цену которого я упомянул, но не называл модель).
ответить
From Andrey V. Stolyarov Tue Jul 16 18:22:18 2024 UTC
Re: Архитектура ЭВМ на базе RISC-V
Ещё раз, и медленно: вы вообще о чём? Насколько я понимаю, чтобы эту штуку просто запустить, нужен программатор.
Просто примите как данность: там, где не занимаются схемотехникой, компьютер — это такое устройство, которое ставится/кладётся на стол, подключается к розетке 220V, к монитору, клавиатуре, мышке, витой парой к сетевой розетке — и работает. Всё остальное компьютером не является.
ответить
From riscV (unverified) Wed Jul 17 09:15:22 2024 UTC
Re: Re: Архитектура ЭВМ на базе RISC-V
Судя по картинке, есть куда подключить пару клавиатур, мышек, HDMI-монитор и вставить 1-2 витых пар от сетевых розеток. И есть, куда вставить хвостик адаптера 220V.
https://habrastorage.org/r/w1560/getpro/habr/upload_files/2a3/eec/976/2a3eec976c78ad6a96ecf5279f3fe471.png
ответить
From Andrey V. Stolyarov Wed Jul 17 09:47:41 2024 UTC
Re: Re: Re: Архитектура ЭВМ на базе RISC-V
Это всё есть, да. А вот грузиться с флешки она, как я понял, не умеет, т.е. ей образ Linux'а нужно программатором заливать. Что довольно странно на фоне традиций, заложенных всякими Raspberry и Orange.
ответить
From Anonymous (не ТС) (unverified) Fri Aug 9 17:32:33 2024 UTC
Re: Re: Re: Re: Архитектура ЭВМ на базе RISC-V
Строго говоря там тоже как-то так надо, просто там SD-карта куда нужно образ заливать отдельная от самого компа, поэтому достаточно через картридер её воткнуть в комп и залить образ. Правда у нового RPi вроде загрузка с флешки появилась. Или нет? OrangePi4 во всяком случае без SD-карты не проявлеяет абсолютно никаких признаков жизни на дисплее и UART. У них то что в обычном компе было бы в микросхеме BIOS тоже находится на SD-карте.
ответить
From Andrey V. Stolyarov Fri Aug 9 18:02:48 2024 UTC
Re: Архитектура ЭВМ на базе RISC-V
Когда sd-карта "отдельная", я её воткну в тот кардридер, который обычно использую для фотика и видеокамеры, скажу dd и подожду. Собственно, все нормальные одноплатники требуют именно этого — скачал образ, залил на sd, воткнул, загрузился. Есличостряслось (tm) — выдернул sd, воткнул в кардридер, смонтировал, подредактировал файлы, воткнул обратно в одноплатник, загрузился.
Для ЭТОГО, которое обсуждается, требуется программатор.
NB: я вообще понимаю, что такое программатор. Я программаторы сам использовал, много и со вкусом. Но мне каждый раз электронщик выдавал нужный тип программатора, говорил, чтО это и куда втыкать, я потом смотрел, какая софтина с ЭТИМ работает и делал чонадо. Ключевое слово тут — электронщик. Потому что лично я — не электронщик ни разу, и без помощи со стороны такового не разберусь, ни что за программатор у меня в руках, ни куда его втыкать.
ответить
From far Sat Aug 10 13:48:53 2024 UTC
Re: Re: Архитектура ЭВМ на базе RISC-V
> Для ЭТОГО, которое обсуждается, требуется программатор.
Там на обратной стороне есть слот под microSD.
https://www.phoronix.net/image.php?id=visionfive2-riscv-benchmarks&image=starfive_visionfive2_4_show
ответить
From Andrey V. Stolyarov Sat Aug 10 14:44:43 2024 UTC
Re: Архитектура ЭВМ на базе RISC-V
Я охотно допускаю, что оно не умеет грузиться с SD. В противном случае мне совершенно категорически непонятно, почему единственный виденный мной текст о том, как с этой железкой обращаться, содержал фото с зажимами от программатора, предлагал именно этот способ заливки образа и ни словом не упоминал возможность загрузиться с SD.
А ещё мне не вполне понятно, за каким таким дьяволом мы эту железяку так долго обсуждаем.
ответить
From Anonymous (unverified) Sun Aug 11 04:29:27 2024 UTC
Re: Re: Архитектура ЭВМ на базе RISC-V
Подозреваю, что можно один раз залить программатором что-то вроде PC-шного BIOS, но конкретно под эту железяку и потом спокойно грузиться хоть с SD, хоть с флешки, хоть откуда. Единственное что непонятно, это почему так не сделано с завода. Или сделано и та статья была про восстановление битого загрузчика?
ответить
From Andrey V. Stolyarov Sun Aug 11 09:34:02 2024 UTC
Re: Re: Re: Архитектура ЭВМ на базе RISC-V
> Подозреваю
Подозревайте дальше. Это уже вообще совсем беспредметный разговор.
ответить
☞ From Parthen (unverified) Sat Jul 13 16:21:02 2024 UTC
Unicode и Си
Есть программа, которая должна читать (без записи) файл на языке, отличном от английского (лично мне нужен русский, но хотелось бы не ограничиваться им).
Мой vim (из-за локали ru_RU.UTF-8, так понимаю) сохраняет любой файл на русском в UTF-8. Просто читать и печатать на stdout этот файл получается без проблем, если указать в программе локаль.
Проблемы начинаются, когда символы из этого файла пытаемся хоть как-то обработать. Файл на UTF-8 это бинарник, однако гугл упорно пытается меня убедить что это текст, и обычные функции по-типу strlen должны работать (и они работают, пока файл за ASCII не выходит, т.к. strlen байты считает).
Для подсчета же символов, гугл предлагает мне "mbstowcs", которая по всей видимости есть только в C++, причем только в новомодном, т.к. там wchar_t
Я близок к тому, чтобы начать вручную написать свои функции и читать файл по байтам. Но что-то такое чувство, что я изобретаю велосипед. Как правильно к этому подступиться?
ответить
From Andrey V. Stolyarov Sat Jul 13 21:59:06 2024 UTC
Re: Unicode и Си
> если указать в программе локаль.
Без указания локали тоже всё получится.
> читать файл по байтам. Но что-то такое чувство, что я изобретаю велосипед. Как правильно к этому подступиться?
Именно так. Это как раз тот случай, когда велосипед собственного изобретения окажется намного лучше всего, что нагородили авторы всевозможных библиотек, начитавшиеся разнообразных блджад стандартов. Если нужен подсчёт символов, то каждый байт тупо и цинично проверяется на то, не равны ли его старшие биты 1 и 0 (т.е. байт имеет вид 10xxxxxx), и все такие байты в подсчёте не участвуют, т.к. это хвостовые байты от символа. В программе вместо локали предусматривается один глобальный флажок: работаем мы с utf8 или нет ("нет" означает однобайтовую кодировку, больше ничего не бывает, по крайней мере не имеет права бывать). Впрочем, ни на что кроме подсчёта символов этот флажок не влияет.
Локали во всех их проявлениях убиваются ссаными тряпками на дальних подступах.
ответить
From Anonymous (unverified) Sun Jul 14 02:16:54 2024 UTC
Re: Re: Unicode и Си
С юникодом всё не так просто. То что вы сказали — байты не 10xx xxxx — это не символы, это кодепоинты. Один символ может состоять из нескольких кодепоинтов, если это составной глиф вроде á ü и тд, разложенный на базовую букву и комбинирующую диакритику. Те же символы можно закодировать и одним кодепоинтом и обычно они так и кодируются, если диакртика только одна. То же самое с эмодзи, они содержат модификаторы. Кроме того, символы бывают Wide и Narrow и если требуется не длина строки в символах, а ширина выделяемого поля, то широкие символы (в основном китайский и тд) занимают два знакоместа.
ответить
From Andrey V. Stolyarov Sun Jul 14 08:45:04 2024 UTC
Re: Re: Re: Unicode и Си
С юникодом всё как раз намного проще. Юникод — это комитетский бастард, не имеющий права на существование. За неимением альтернатив приходится его до определённой степени терпеть, но именно что до определённой. В частности, ни диакритические "символы", ни, скажем, такие "глифы", в которых в глифе задаётся ещё и цвет (всякие эмодзи, тортики, слоники и прочее в таком духе) поддерживаться не должны. Вот то есть категорически. Руки отрубать за попытки поддержать что-то подобное. Больше того, если такая поддержка где-то уже есть, её следует выпиливать.
Конкретно по поводу диакритик — эти кодпойнты должны рассматриваться и отображаться как отдельные символы, а любые поползновения сказать, что это якобы неправильно, следует пресекать фразой "мудаки из комитетов нам не указ".
ответить
From Artem (unverified) Fri Aug 2 08:43:31 2024 UTC
Re: Re: Re: Re: Unicode и Си
Андрей Викторович, а какой вариант кодирования многоязычных текстов вам видится лучшим, чем юникод? Мне в голову приходят только "переключатели кодировок" посреди текста, или особые последовательности для non-ASCII символов, но это даже хуже юникода, во всяком случае, в варианте utf8.
ответить
From Andrey V. Stolyarov Fri Aug 2 09:16:08 2024 UTC
Re: Unicode и Си
Никакие переключатели в большинстве случаев не нужны, это я вам как пользователь koi8-r говорю. Проблема полностью притянута за уши. Хотя, конечно, если кому-то до усрачки нужны в одном тексте две и более азбуки, отличные от латиницы, то для таких извращенцев именно что переключатель второй половины кодовой таблицы был бы решением оптимальным.
Далее: если выкинуть из юникода кодпойнты, соответствующие диакритическим знакам (из-за чего, например, русские "ё" и "й" имеют два представления), а также всякие эмодзи и прочие псевдо-глифы, которые предполагают не глиф в классическом смысле, а цветную пиктограмму — то это уже будет лучше. чем юникод. А если взять ту же самую utf-8 и изменить правила вычисления кодпойнта так, чтобы двухбайтовые последовательности кодировали только кодпойнты начиная со 129 (вот буквально сделать там в правилах явное +128), трёхбайтовые — начиная с кода 2048+128+1, четырёхбайтовые соответственно с 65536+2048+128+1, т.е. так, чтобы никакую последовательность байтов, в которой за 110xxxxx следует ровно один 10xxxxxx, за 1110xxxx следуют таких два, за 11110xxx следуют три — вот никакую такую последовательность не приходилось объявлять невалидной — то это будет заведомо лучше, чем utf8.
На самом деле первично тут не техническое решение, а наличие стандартизационного комитета. Если поганый unicode consortium разогнать к чертям, а все высранные им "документы" приравнять к надписям на заборе — за несколько лет вся эта вакханалия придёт к некой приемлемой норме.
Меня, впрочем, слезть с koi8 никто не убедит в любом случае.
ответить
From Anonymous (unverified) Sun Jul 14 03:22:26 2024 UTC
Re: Re: Unicode и Си
А да, ещё желательно было бы наверное проверять на валидность UTF-8 таким образом:
Если символ имеет формат 0y (далее y - недостающие биты до 8 бит), то длина один байт и 10y после него быть не должно. Если символ имеет формат 110y то длина два байта и должен быть ровно один 10y, 1110 — три байта и должно быть два 10y после, 1111y — четыре байта и тд и нужно посчитать сколько за ним идёт 10y, которые могут быть только концевыми байтами. Биты не входящие в маску. определяющую длину символов конкатенируются и получается номер символа в юникоде.
Overlong кодировки считаются недопустимыми, и в софте, который их не проверяет могут встречаться уязвимости. Например код 01100001b — латинская буква a, код 11000001 10100001 по идее тоже "a", но он должен считаться инвалидным. Если программа пропускает такие альтернативные кодировки, то фильтры, вроде режущих HTML-код могут не сработать.
ответить
From Andrey V. Stolyarov Sun Jul 14 08:57:33 2024 UTC
Re: Re: Re: Unicode и Си
Программа, написанная психически здоровым человеком, должна быть настолько unicode-agnostic, насколько это возможно. В частности, если программа по какой-то причине разбирает HTML или какой-то другой XML (что, опять же, можно делать только от полной безысходности, поскольку все SGML-like разметки суть одно химически чистое мракобесие), она должна в роли открывающей угловой скобки воспринимать исключительно байт 0x3C и более ничего.
Если программа по какой-то причине вынуждена вычислять и как-то там анализировать значения юникодных кодов, представленных в utf8, то она, конечно, перестаёт быть unicode-agnostic, но это не значит, что все программы должны перестать быть unicode-agnostic.
Более того, в одной программе разные подсистемы могут быть и не быть unicode-agnostic. В частности, любой лексический и синтаксический анализ, и вообще любой парсинг следует, очевидно, проводить на исходном потоке байтов, не рассматривая этот поток как utf8, даже если он в utf8. Тогда и проблем с "упущенным" "некорректным" "представлением" активного символа не будет.
Это, кстати, к вопросу о том, почему в текстах на формальных языках non-ascii chars заведомо и категорически недопустимы.
ответить
From Anonymous (unverified) Mon Jul 15 06:32:13 2024 UTC
Re: Re: Re: Re: Unicode и Си
Ну вот предположим, у вас CMS написана по такому принципу, а какой-нибудь комментатор берёт и пишет <script whatever> но только < кодирует как оверлонг, ваша CMS пропускает это, а браузер интерпретирует оверлонг как угловую скобку, выполняет скрипт и отдаёт например логин и пароль на сервер того, кто эту фиговину запостил.
Пример теоретический поскольку, я подозреваю, что браузеры всё-таки на оверлонги не ведутся. Но кто их знает...
ответить
From Andrey V. Stolyarov Mon Jul 15 08:33:47 2024 UTC
Re: Re: Re: Re: Re: Unicode и Си
Ну вот предположим, что у бабушки есть МПХ. Тогда, видимо, она будет дедушкой.
Нажми Ctrl-U и посмотри, в какой кодировке отдаётся этот сайт. Это раз. К тому же пароли тут одноразовые и вдобавок никогда не вводятся на страницах с пользовательским контентом. А два — реально браузеры, конечно, пишут отборные говноеды, но всё-таки не идиоты, поэтому, разумеется, ничего подобного произойти не может. Да и вообще, кто считает нужным по какой-то причине НЕ быть unicode-agnostic, тот и трахается с последствиями комитетского дебилизма, а убеждать вообще всех (в том числе тех, кто сам никак юникод не интерпретирует) принимать во внимание всю эту комитетскую херню — эдак можно договориться до встраивания фильтров UTF, например, в стек TCP/IP в ядре. Ну а что, а вдруг чего, а?
И сделай одолжение, свали отсюда. Мне тут не нужны апологеты юникода, а равно и такие персонажи, которые всех окружающих убеждают в необходимости тратить силы на борьбу с заведомо несуществующими проблемами. Силы можно потратить с большей пользой.
UPD: В словосочетании "свали отсюда" какое слово непонятно, первое или второе? Очередь на премод тут пока ещё под моим контролем, и это значит, что твои комменты тут больше не появятся.
ответить
From Anonymous (unverified) Sun Jul 14 03:34:54 2024 UTC
Re: Re: Unicode и Си
Кстати, мультибайтовые последовательности встречаются даже в Plain ASCII, а именно: и CR LF и просто LF — это один символ, хотя CRLF занимает два байта.
ответить
From Andrey V. Stolyarov Sun Jul 14 08:39:40 2024 UTC
Re: Re: Re: Unicode и Си
Это уже просто чушь, никто, нигде и никак не заставляет нас рассматривать CRLF как "один символ". Намного проще CR считать обычным whitespace'ом и/или просто тупо игнорировать.
ответить
From Anonymous (unverified) Sun Jul 14 10:26:23 2024 UTC
Re: Re: Re: Unicode и Си
Почему CR LF - один символ? Это как раз честные 2 символа в ASCII. Просто так уж повелось, что виндосовские текстовые редакторы требуют эти два символа, чтобы показать перевод строки, но двумя символами (в терминах кодировки) эта комбинация быть не перестает.
ответить
From Andrey V. Stolyarov Sun Jul 14 10:39:50 2024 UTC
Re: Unicode и Си
Как ни странно, это не только виндосовские редакторы. Текстовые протоколы в Интернете (по меньшей мере HTTP, SMTP и telnet, за остальные не поручусь) тоже, если следовать букве спецификации, требуют разделять строки CRLFом. Тяжкое наследие времён телепринтеров, где прокрутка бумаги на строчку вниз и возврат каретки в крайнюю левую позицию были двумя разными (физическими, т.е. механическими, ну или, если угодно, электромеханическими) действиями.
ответить
From Anonymous (unverified) Mon Jul 15 06:15:03 2024 UTC
Re: Re: Unicode и Си
Неужели кто-то когда-то набирал электронные письма прямо в консоли SMTP-сервера, пользуясь электромеханическим телетайпом?
ответить
From Andrey V. Stolyarov Mon Jul 15 08:35:18 2024 UTC
Re: Unicode и Си
Достоверно я этого не знаю, но практически уверен, что кто-то когда-то — наверняка.
ответить
From ARPA (unverified) Tue Jul 16 07:46:02 2024 UTC
CR LF в протоколах
Изначальные прикладные протоколы ( в т.ч до TCP ) были построены вокруг сетевых виртуальных терминалов (NVT) с виртуальной "клавиатурой" и виртуальным "принтером". Одним из основных практических применений APRANet было подключение к системе разделения времени, работающей на другой ЭВМ, без непосредственного соединения терминала (напрямую или через аналоговые линии связи). Последовательность управляющих символов CR LF были выбрана для передачи "новой строки" по сети. При этом сохранялась возможность отдельного использования CR (и LF) прикладными программами.
ответить
From Parthen (unverified) Sun Jul 14 16:12:45 2024 UTC
Re: Re: Unicode и Си
>Без указания локали тоже всё получится.
У меня не получалось. Возможно, дело в ncurses, без него все печатается нормально, а с ним:
Vasya wrote: Муха села на варенье, вот и все стихотворение.
Vasya wrote: ~\ ~C ~E ~A ~@ ~L , ~B ~A ~A ~B ~E ~B ~@ .
Код вот (в заголовочных файлах убраны угловые скобки, иначе сайт их вырезает):
>Локали во всех их проявлениях убиваются ссаными тряпками на дальних подступах.
Кстати, где подробно почитать почему? Я где-то на уровне печенки понимаю, что локали кодировку без моего ведома переделывают, но видимо пришло время, когда надо в этом разобраться. (Поиск по гостевой успехов не принес)
ответить
From Andrey V. Stolyarov Sun Jul 14 16:36:15 2024 UTC
Re: Re: Re: Unicode и Си
> Возможно, дело в ncurses
Так и есть, да. У ncurses свой способ вывода, и ей надо знать, utf это или не utf, а она это, как всякая "добропорядочная" (читай — мейнстримная) либа, узнаёт из установленной локали.
Ну, я не знал, что вы ncurses используете. Обычные программы, у которых ввод из stdin и вывод в stdout, вполне могут себе позволить быть encoding-agnostic.
> Кстати, где подробно почитать почему?
Потому что зависимости от внешних файлов на ровном месте, например. А ещё потому что многие (к счастью, не все) программы, использующие возможности locales, невозможно убедить одновременно разговаривать по-английски и допускать обработку русских букв — потому что безответственные мудаки, их написавшие, переменную LC_ALL обрабатывают, а на LANG/LANGUAGE кладут болт.
По поводу угловых скобок — заменяйте знак "меньше" на < и всё будет.
ответить
From Parthen (unverified) Sun Jul 14 16:45:56 2024 UTC
Re: Re: Re: Re: Unicode и Си
Понял, спасибо!
>По поводу угловых скобок — заменяйте знак "меньше" на < и всё будет.
Было бы здорово указать это на странице отправки комментария
ответить
☞ From Григорий Кузнецов (unverified) Fri Jul 12 10:09:33 2024 UTC
pascal
Приветствую уважаемых посетителей сайта!
Начинал программировать на python, но после прочтения первого тома "Программирование: введение в профессию" практически полностью перешел на pascal. Благо мне требуется достаточно простая работа с текстовыми файлами и csv таблицами, хотя в них по 20-40 столбцов и несколько тысяч строк.
В качестве основной рабочей среды, после нескольких эксперементов, решил использовать Arch Linux и zsh командную строку. Сильно нравится кастомизация.
На днях приступлю к изучению второго тома.
Выражаю глубокую благодарность Андрею Викторовичу Столярову за учебные пособия! Особенно за их бесплатные версии.
ответить
From Andrey V. Stolyarov Fri Jul 12 10:14:11 2024 UTC
Re: pascal
Отмечу, что никаких "платных версий" моих книг не существует, на сайте выложены реальные оригинал-макеты, с которых печатались бумажные книги, т.е. эти "версии" полностью идентичны. Так что говорить о "бесплатных версиях" не вполне корректно.
Вообще я бы не советовал Паскаль рассматривать как инструмент для работы. В книге он используется исключительно как учебное пособие.
ответить
From Anonymous (unverified) Fri Jul 12 13:39:21 2024 UTC
Re: Re: pascal
Почему не существует? А бумажные?
А почему бы и нет? Работет же...
ответить
From Andrey V. Stolyarov Fri Jul 12 14:36:44 2024 UTC
Re: Re: Re: pascal
> Почему не существует? А бумажные?
Читать не умеете? А зачем вам тогда книги?
> А почему бы и нет? Работет же...
А, ну если вы применяете тезис "работает же", то мои книги для вас бесполезны, не тратьте на них время.
ответить
☞ From Thalassa CMS (unverified) Thu Jul 11 18:10:50 2024 UTC
Thalassa CMS
Очень странная история с капчей. В процессе настройки сайта все отлично, у меня все работает. Но вот проблема - отваливается капча по неизвестным причинам. То есть я правильно ее ввожу, а мне говорят failed абсолютно всегда. Не подскажете область, в которой нужно искать проблему? У меня полностью рабочий сайт, но капча все ломает своей "непроходимостью" и ошибок не выдает, как будто я ее действительно ввожу неверно. Помогите пожалуйста, Андрей Викторович
ответить
From Andrey V. Stolyarov Thu Jul 11 18:45:40 2024 UTC
Re: Thalassa CMS
Ну, я такого не видел ни разу. Но чтобы хотя бы просто начать думать в сторону проблемы, стоит, наверное, сообщать подробности, а не просто "не работает". В частности, талассовская капча всегда выдаёт диагностику — сообщает, по какой конкретно причине она сочла капчу непройденной, но вы нам тут даже этого сказать не хотите.
ответить
From Thalassa CMS (unverified) Thu Jul 11 19:05:16 2024 UTC
Re: Re: Thalassa CMS
Check failed
Unfortunately we couldn't verify we don't talk to a robot. We sincerelly apologise in case we're wrong. The check has failed for the following reason: wrong captcha answer. Please try again.
Please enter the string made by swapping letters as shown at the picture to the right. There are digits and latin letters only, case is ignored:
ответить
From Andrey V. Stolyarov Thu Jul 11 19:27:41 2024 UTC
Re: Re: Re: Thalassa CMS
> wrong captcha answer.
Теперь хотя бы знаем, обо что оно обломалось. А не может быть так, что у вас, например, два экземпляра thalcgi.cgi, один показывает форму с капчей, а обрабатывает уже другой? Или, скажем, конфигурационные файлы от Талассы старой версии (0.2.* или ещё старее), а бинарь thalcgi.cgi уже от новой? Вот, скажем, если на страничке с капчей Ctrl-U нажать, там в коде формы есть поле captcha_nonce?
ответить
From Thalassa CMS (unverified) Thu Jul 11 20:09:20 2024 UTC
Re: Re: Re: Re: Thalassa CMS
Такого поля нет и да, я переносил старые конфиги в новую версию талассы и с новыми бинарниками
ответить
From Andrey V. Stolyarov Thu Jul 11 20:14:01 2024 UTC
Re: Re: Re: Re: Re: Thalassa CMS
Тогда всё понятно, см. сюда: http://thalassa.croco.net/2402241.html#migration_to_0200, а потом ещё сюда: http://thalassa.croco.net/2403141.html#migration_to_0300.
Впрочем, если вы использовали Smoky, то достаточно перезаписать новое содержимое поддиректории base/ поверх того, что у вас, и плюс ещё добавить параметр text_email_change_cooldown, как это по второй ссылке рассказывается.
ответить
From lucy (unverified) Thu Jul 11 23:44:38 2024 UTC
Re: Re: Re: Re: Re: Re: Thalassa CMS
Как же приятно прийти на все готовенькое, буквально 2 дня назад было тоже самое, спасибо большое!
ответить
From Andrey V. Stolyarov Fri Jul 12 08:02:06 2024 UTC
Re: Thalassa CMS
Ага, и для кого я в новостях на сайте Талассы подробно писал, как правильно мигрировать на новые версии?
Тут уж извиняйте, пока версия начинается с нолика, я обратную совместимость поддерживать не возьмусь, нынешний код Талассы для этого слишком сырой.
ответить
From nice (unverified) Fri Jul 12 13:47:18 2024 UTC
Сработало
Спасибо огромное за помощь!
ответить
From Andrey V. Stolyarov Fri Jul 12 15:02:05 2024 UTC
Re: Сработало
Вот уж не жалко :-) заходите ещё.
ответить
☞ From Anonymous (unverified) Mon Jul 8 20:01:33 2024 UTC
Опечатки в архивах
Это мелочь, конечно же, но в архивах гостевой книги на этом сайте заметил пару штук, похожих на опечатки.
В Архиве гостевой книги по 25 сентября 2012 г. последний коммент датирован 31 мая 2013 года.
В Архиве гостевой книги с 25.09.2012 по 02.06.2019 последний коммент датирован 23 апреля 2021 года.
ответить
From Andrey V. Stolyarov Wed Jul 10 13:25:10 2024 UTC
Re: Опечатки в архивах
Мне даже интересно, как вы предполагаете избежать подобных "опечаток", если только не закрывать возможность комментирования на архивных страницах (а закрывать я её не хочу).
Так или иначе, даты в заголовках обозначают период, когда данная страница имела статус действующей гостевой книги. Всё, что после указанной даты — это комменты, оставленные уже на архивной странице.
ответить
From Anonymous (unverified) Wed Jul 10 18:26:26 2024 UTC
Re: Re: Опечатки в архивах
Никак не предполагаю, просто увидел и решил сказать. Про возможность оставлять комменты в архивных страницах я не знал (точнее, не обратил внимание, теперь уже увидел соответствующую кнопку), думал, что если страница стала архивом, то быть ей навечно неизменяемой.
ответить
☞ From Вова (unverified) Fri Jul 5 15:40:37 2024 UTC
Несколько слов благодарности
Спасибо автору этого сайта за его деятельность. Пока на планете есть такие люди у нас всех есть надежда. Обещаю, что те знания, которые я впитаю из Ваших книг, используя для синтеза новых знаний, которые так же свободно передам другим.
ответить
☞ From anon (unverified) Mon Jul 1 17:29:08 2024 UTC
Raspberry Pi
Вряд ли коммент пройдёт модерацию, но не могу не поделиться "радостью". Только что получил по почте raspberry pi, и в бумажной инструкции пара примеров, как помигать лампочкой на ПИТОНЕ, Карл!
Вот прям так и написано "import some_shit\n\npognali()"
Аж чаем поперхнулся, чуть плату не залил. Хотя стоит уточнить, наверное, что это не голый pi всё-таки, а наборчик "для чайников" от сторонних продавцов, мануальчик от них же
ответить
From Andrey V. Stolyarov Mon Jul 1 18:28:32 2024 UTC
Re: Raspberry Pi
Не вижу ничего удивительного. Питон — это такой специальный трёхколёсный велосипедик для тех, кто учиться кататься не хочет, но при этом почему-то очень хочет то ли просто кататься (не учась), то ли при этом ещё и всем говорить, что он ваще прям крутой велосипедист, что аж куда деваться.
У меня был синтезатор (ну, в смысле клавишный электронный музыкальный инструмент, а не что-то другое), так там был такой специальный режим, в котором жмёшь какие попало клавиши, главное чтобы б/м в такт, а ОНО воспроизводит мелодию из памяти, но при этом тщательно делает вид, что это ты сам играешь. Ну то есть если не нажать, то звука совсем не будет, только ритм-секция, а если нажать, то, насколько я понял, на что-то повлиять можно только вида "на октаву выше / на октаву ниже", оно само при этом подбирает аккорды нужным образом и вот это вот всё.
ответить
From another anonymous (unverified) Mon Jul 1 23:01:08 2024 UTC
Re: Raspberry Pi
Я так думаю, помигать лампочками можно и из командной строки, ибо это GPIO, и ядро даёт доступ к GPIO через sysfs. Ещё есть соответствующие файлы устройств в /dev , которыми можно воспользоваться, например, в программах на C.
А мануальчик можно просто проигноровать. И не покупать всякие наборчики.
ответить
☞ From Anonymous (unverified) Sat Jun 29 14:47:15 2024 UTC
Работа в IT на западе
Андрей Викторович, добрый день.
Нашел одну статью [url removed] (прошу прощения за ссылку на этот сайт, предлагаю удалить ее из коммента, если вам не нравится), в которой автор огорчен тяжестью поиска работы на западном рынке. Если кратко, то основная мысль статьи такова: в Европе и США опытные разработчики подолгу ищут работу, конкурс на вакансии дикий, приходится соглашаться на низкие зарплаты, рынок работника закончился. Статья по большей части эмоциональная, конкретных фактов или исследований не содержит (разве что пару скриншотов), поэтому у меня есть основания ей несколько не доверять.
Вы писали ранее, что сейчас находитесь в Европе. Наблюдаете ли вы такую ситуацию с рынком труда в IT? Если да, то как вы думаете, может ли такая ситуация случиться во всем мире?
Сам я в РФ, искать работу в западных компаниях не пробовал.
ответить
From Andrey V. Stolyarov Sat Jun 29 18:43:31 2024 UTC
Re: Работа в IT на западе
Абсолютная чушь, с таким же успехом можно заявить, что в Европе в каждом городе каждый день с утра обязательно проводят гей-парад, после которого злые геи гоняются за натуралами и всех, кого догонят, делают геями. Ну то есть вот просто вообще, в принципе ничего общего с реальностью. Подозреваю, что это заказуха за деньги по принципу "авось кто поверит".
Самому мне сейчас (во всяком случае, пока) поиск IT-шной работы не актуален, но у всех знакомых, кто что-то искал околопрограммистское, вот эта вот конверсия ("приглашение на первый этап") примерно с двух отправленных резюме на третье, и дольше месяца пока что никто оффера не ждал. Как был дефицит программистов, так и есть, и никуда деваться не собирается.
ответить
From anonymous (unverified) Sat Jun 29 22:49:45 2024 UTC
Re: Работа в IT на западе
Непрошеное и совершенно банальное мнение безвестного анонима.
Понаблюдав за рынком в течение нескольких прошлых лет, я для себя пришел к выводу: дефицит программистов - явление постоянное и предпосылок к изменению ситуации не предвидится.
Противоположные мнения довольно часто аргументируются, например, таким образом: ряяя, все слышали про большие зарплаты программистов, щас они все как станут программистами, щас они все как обвалят спрос, ряяя, конец вашему ойти!
Если заменить в этой обобщенной цитате "программист" на что-то типа "хирург", "пилот гражданской авиации", "инженер-нефтяник" etc, то можно ощутить, насколько это утверждение зазвучит сомнительно; сложность освоения профессии, упоминаемой в высказывании, при этом не слишком сильно изменится.
Я, конечно, упрощаю и утрирую, но всё-таки программирование - это не для всех и даже очень не для всех, как и другие вышеназванные профессии; не очень понятно, откуда тут взяться огромной конкуренции - такой, чтобы работу тяжело было искать; процент людей, к нему способных и желание имеющих, в новых поколениях не увеличивается.
Сказанное, конечно, относится, к родам деятельности программиста, в которых ментально здоровому человеку можно принимать участие без вреда для себя.
Весь же этот "огромный конкурс" на работу за еду иногда волнами возникает в вебе среди джуниор пистонистов, пыхыпышников, жопоскриптеров и прочих волшебных существ - пользователей интерпретаторов, чья деятельность имеет общность в своей пахучести, вредоносности и полном отсутствии необходимости умения мыслить. Лично мне их не слишком жалко, даже если этот кризис у них реально прямо сейчас существует.
Если вы работаете со стеком, который хотя бы издалека на говно не похож, и даже если вы при этом реально начинающий программист, то конкурсов и безработицы, мне кажется, можно не опасаться ни сейчас, ни через, скажем, десять лет.
Здесь начинающий программист - человек, который умеет программировать и написал какие-то по-настоящему полезные, не обязательно монструозного размера программы, которыми можно пользоваться и которые реально кому-то были нужны, но ещё не имеет опыта серьезной коммерческой деятельности.
Клепание сайтов с помощью жабаскриптовых фреймворков/ботов для телеграма на питоне/прохождение всяких шестимесячных онлайн курсов и всякая подобная жизнедеятельность в целом не имеют отношения к сущности вышеприведённого определения или к достижению задаваемого этим определением уровня профессионализма.
Географическое положение тут почти ни при чем - лишь бы вы находились в стране, где айти вообще развито и востребовано как отрасль экономики.
ответить
From anonymous (unverified) Sat Jun 29 23:21:59 2024 UTC
Re: Работа в IT на западе
Упд, не заметил у топикстартера слово "опытные" перед словом "разработчики", тогда весь мой опус "банальное мнение безвестного анонима" несколько теряет смысл.
В любом случае всерьез ту статью сложно воспринимать, даже не проверяя ситуацию. Кого там этот автор понимал под "опытными разработчиками"? Какой уровень зарплаты за какой грейд им воспринимался как низкий? Какое направление имелось в виду? Понятие некоего общего рынка разработчиков, который может подниматься и обваливаться разом как нечто общее, на мой взгляд, совершенно эфемерное и бесполезное как объект анализа, на который можно ориентироваться при принятии каких-то решений.
ответить
From Andrey V. Stolyarov Sat Jun 29 23:32:31 2024 UTC
Re: Работа в IT на западе
Ссылку на статью я, конечно, потёр, и восстанавливать не буду, но, наверное, нет проблем её отыскать в недрах Хабра, было бы желание. Так вот, основной вывод этого опуса — что якобы чуть ли не единственная правильная стратегия сейчас состоит в возвращении в россию.
Sapienti sat. По-моему, не надо искать сложностей там, где их нет, просто кто-то отрабатывает грант на очередную ИПСО.
ответить
From anonymous (unverified) Sun Jun 30 01:14:39 2024 UTC
Re: Re: Работа в IT на западе
>чуть ли не единственная правильная стратегия сейчас состоит в возвращении в россию
Тогда все куда понятней.
>нет проблем её отыскать в недрах Хабра, было бы желание
Уверен, нашел бы больше, чем одну.
Если это такая очевидная propaganda, то не очень ясно, на кого это рассчитано. Если релокация произошла вследствие несовпадения моральных, политических и прочих социально-философских взглядов релоканта с современной идеологией РФ, то при чем тут такая презренная вещь, как величина зарплаты?
Если же политические взгляды релоканта индифферентные и дело только в "конкурсах" и в деньгах, то почему надо именно в Россию возвращаться из непонравившегося места? Может, стоит попробовать в Японию махнуть. Странно с точки зрения экономики в сфере информационных технологий делить мир на Россию и нероссию.
В этом же случае тогда уж стоило и вовсе не уезжать - и так понятно было, что российская экономика лететь в полные тартарары не собирается, и уж точно не ее "айти-сфера". (Я, если что, не сторонник какой-либо из идеологий существующих в контексте ситуации политических лагерей.)
В общем, мани квещнс, ноу ансверс, как всегда.
ответить
From Oliver (unverified) Mon Jul 1 07:08:09 2024 UTC
Re: Re: Re: Работа в IT на западе
> В общем, мани квещнс, ноу ансверс, как всегда.
Не совсем по теме, но тут я бы предпочел сказать "а лот оф куешнс, ноу энсерс", вместо "мани", потому что это смахивает на "деньги" если не верно произнести это слово
ответить
☞ From timar07 (unverified) Fri Jun 28 15:41:56 2024 UTC
CLI утилита для учета финансов
Уважаемый Андрей Викторович, здравствуйте!
В последнее время у меня появилась проблема учета финансов. До этого вел все записи в блокноте, однако доходы/расходы стали учащаться, и первая мысль, которая возникла в данной ситуации, была имнно об автоматизации этого рутинного процесса.
Вопрос состоит в следующем: сталкивались ли Вы с подобной проблемой? Если да, то пользуетесь ли Вы какой-нибудь CLI утилитой (по типу ledger) или же Вы предпочитаете другой способ ведения домашней бухгалтерии?
ответить
From Andrey V. Stolyarov Fri Jun 28 20:56:08 2024 UTC
Re: CLI утилита для учета финансов
См. сюда, ближе к концу текста коммента.
ответить
☞ From chum (unverified) Fri Jun 28 03:46:56 2024 UTC
наебать издательство
Некоторые деятели на ютубе (обойдемся без конкретных ссылок) утверждают, что сперва издали книжку на бумаге, при этом имущественные права, естественно, были переданы правоторговцам. Затем, когда основная масса книг была распродана в магазинах, они слили свою электронную версию в открытый доступ. Насколько этот сюжет похож на правду? Можно ли наебать издательство подобным способом, и какими юридическими последствиями всё это может обернуться?
ответить
From Andrey V. Stolyarov Fri Jun 28 08:54:28 2024 UTC
Re: наебать издательство
Для начала:
> при этом имущественные права, естественно, были переданы правоторговцам
Что в этом "естественного"?! Почему вы вообще считаете возможным утверждать, что передача прав издателю "естественна"? Вы вообще сайтом не ошиблись? Копирастов тут не любят и даже обижают.
Чтобы было понятно: все книги, представленные на этом сайте, были совершенно официально изданы на бумаге, но ни на одну из них права не были никому переданы, т.е. я остаюсь единственным обладателем всех существующих в природе прав на все свои книги. Чего и всем желаю.
Теперь по основному вопросу. Технически ничего невозможного здесь нет, и, более того, я вполне понимаю авторов, которые так поступают. Хочется даже сказать, что они правильно делают, но вообще-то этого сказать нельзя, потому что правильно — это с самого начала объяснить издателю, что никакой передачи прав не будет и договор может быть только лицензионным. Между прочим, действующий закон (четвёртая часть ГК РФ) заточен именно под такой вариант гражданского взаимодействия между автором и издателем, а то, что издатели из кожи вон лезут, чтобы навязать автору именно что передачу прав — это, во-первых, повод относиться к издательской мафии так, как к ней следует относиться: как к паразитам, подлежащим истреблению; во-вторых, это один из аргументов, почему так называемое "авторское" право на самом деле никакого отношения к интересам авторов не имеет; и в-третьих, естественно, это повод требовать отмены интеллектуальной собственности как юридического института.
С сугубо юридической точки зрения описанная вами модель поведения представляет собой нарушение условий гражданско-правового договора. Теоретически издатель может подать в суд и поиметь с такого автора "много денег", но на практике я не слышал ни разу об успешных судебных делах такого рода. Подозреваю, что преследовать автора за нарушение авторских прав на его же произведение — это несколько рискованно с репутационной точки зрения, проще сделать вид, что книгу слили в сеть злые пираты, которых невозможно найти.
Но это мои домыслы, а рассказать, как там всё обстоит на самом деле, может разве что юрист, реально специализирующийся на гражданских исках, связанных с авторским правом. NB: не всякий юрист, а именно такой, у которого есть реальный (и притом большой) опыт именно исков такого рода. Я неоднократно убеждался, что юристы, которые специализируются в других областях, имеют об авторском праве весьма смутное представление, вплоть до того, что *я*, не будучи юристом, таки ориентируюсь в этой области права лучше их.
ответить
From ana (unverified) Fri Jun 28 18:48:58 2024 UTC
Re: Re: наебать издательство
Независимые мини-издательства не осилят крупные тиражи, большие издательства диктуют и навязывают свои условия. Короче, эта проблема из разряда реально существующих.
ответить
From Andrey V. Stolyarov Fri Jun 28 20:47:26 2024 UTC
Re: наебать издательство
Если тут и есть проблема, то только в мозгу автора, который готов раком встать и жопу подставить, лишь бы его напечатали.
На моём примере можно заметить, что ничего безвыходного здесь нет.
Что не отменяет, разумеется, простого факта: издательско-медийная индустрия в её нынешнем виде должна быть брутально истреблена под корень. Дустом, дихлофосом, чем угодно. Других таких вредителей ещё поискать.
ответить
☞ From Саша (unverified) Mon Jun 24 11:27:29 2024 UTC
Касательно Reticulum Network Stack
Здравствуйте! Подскажите, слышали ли вы о Reticulum Network Stack (см. [url removed])? Думаю, проект заслуживает вашего внимания.
P.S. Также может оказаться полезным один тред на Реддите* (см. [url removed]), где автор делится информацией о Reticulum и отвечает на популярные вопросы (о внутреннем устройстве, криптографической базе, устойчивости сетей, а также Python).
* Да, без скриптов не работает. Но, право, давайте не будем спотыкаться о такие мелочи. Можете воспользоваться альтернативным фронтендом типа Redlib, там JS не нужен; удобный сервис переадресации: [url removed]
ответить
From Andrey V. Stolyarov Mon Jun 24 11:38:16 2024 UTC
Re: Касательно Reticulum Network Stack
Чего ты сюда припёр этот кусок питонячьего говна? Чего ты сам сюда припёрся? Ты ошибся дверью, здесь говно не едят, делай это в другом месте. А сюда дорогу забудь, и желательно навсегда.
ответить
☞ From Арсений (unverified) Mon Jun 24 10:00:30 2024 UTC
Инструмент для таблиц
Здравствуйте!
Часто в работе хочется применить связные таблицы (а ля "список функций", "список тестов", "таблица покрытия функций тестами"; ну и "вывести непокрытые функции"). При этом структура таблиц обычно не очень сложная.
Брать субд/эксели нет желания, слишком уж они громоздкие (а хочется именно "на коленке" накидать пару-тройку таблиц). В последний раз обходился tsv-файлами и пачкой скриптов (sort, join, awk).
Бывают у Вас похожие задачи? Какими инструментам для этого пользуетесь? Или это всё от лукавого и проблема выдуманная?
ответить
From Andrey V. Stolyarov Mon Jun 24 11:29:05 2024 UTC
Re: Инструмент для таблиц
Вы будете смеяться, но я сейчас как раз пилю программулину для этой цели. Со встроенным лиспом и с шаблонами для генерации отчётов (как минимум хочется иметь отчёты в HTML и LaTeX, но на шаблонах вообще можно что угодно). Так что нет, проблема не выдуманная, во всяком случае.
ответить
From Арсений (unverified) Mon Jun 24 12:18:20 2024 UTC
Re: Re: Инструмент для таблиц
Однако) С нетерпением жду!
Или оно для личного пользования планировалось?
ответить
From Andrey V. Stolyarov Mon Jun 24 12:35:09 2024 UTC
Re: Инструмент для таблиц
Сначала для личного, потом в opensource, естественно. Просто между этими двумя вариантами будет ещё написание документации, я после Талассы перестал к этому этапу относиться легкомысленно, ибо там документация потребовала четырёх месяцев.
Вынужден сказать, что ждать ещё долго. Сама софтина мне нужна прям вчера, поэтому её я пытаюсь сейчас допилить в режиме форсажа, но по части документации никто ведь за мной гнаться не будет.
ответить
From Василий (unverified) Mon Jun 24 12:52:33 2024 UTC
Re: Re: Инструмент для таблиц
Очень приятно читать, тоже искал похожий инструмент! Присоединяюсь к ожидающим.
Когда-то давно добавил к себе в закладки Lotus 1-2-3, который, вроде как подходит под описание "программа для работы с таблицами в терминале". Руки до него не доходили, но сейчас достал из закладок и обратил внимание, что это проприетарщина.
А тут ещё с блэкджеком и шлю... т.е. с HTML и LaTeX.
ответить
From Alejandro Mon Jun 24 18:35:52 2024 UTC
Re: Re: Инструмент для таблиц
А это никак случайно не связано с этой историей? :-)
ответить
From Andrey V. Stolyarov Mon Jun 24 18:59:15 2024 UTC
Re: Инструмент для таблиц
Не так чтобы напрямую, но codebase этой софтины с той имеет сильно ненулевое пересечение – если не считать библиотек, то процентов двадцать, а если библиотеки посчитать, то все 95, но это читерство. И эта, в отличие от той, никак на особенности национального бухучёта не завязана, так что надеюсь её сразу же снабдить документацией и опубликовать. Ну как "сразу же"... как шшшшмагу.
ответить
From Дмитрий (unverified) Wed Jun 26 01:57:38 2024 UTC
Re: Инструмент для таблиц
SQLite. Вы описали задачи декларативного языка SQL.
ответить
From Andrey V. Stolyarov Wed Jun 26 09:28:03 2024 UTC
Re: Инструмент для таблиц
Задач для SQL не существует в природе. Точно так же, как, например, для Кобола.
А ещё — пользовательские данные должны храниться в текстовых файлах.
UPD: Давай-давай отсюда. В Интернете много мест, подходящих для любителей церебральной копрофагии, но этот сайт в их число не входит.
ответить
From Alexander (unverified) Thu Jun 27 20:44:34 2024 UTC
Re: Re: Инструмент для таблиц
Раз уж зашла речь про хранение пользовательских данных, воспользуюсь случаем уточнить. Захотелось написать свою записную книгу с сохранением данных в файл и возможностью поиска по фамилии/имени. Какая в идеале должна быть структура у такого файла? В голову приходит только аналогичный как в файле /etc/passwd.
ответить
From Andrey V. Stolyarov Thu Jun 27 22:08:13 2024 UTC
Re: Инструмент для таблиц
Тут есть сразу два вопроса: (1) допустимо ли всё хранить в одном текстовом файле и (2) каков должен быть формат этого файла.
На первый вопрос лично мой ответ примерно таков. Если общий объём данных предполагается в пределах нескольких десятков килобайт, беспокоиться не о чем вообще. Не о чем беспокоиться и тогда, когда данных ожидается в пределах мегабайта и при этом изменение данных происходит намного реже, чем их чтение, так что перезаписать весь файл ради любого небольшого изменения проблем не составляет. Если же данных стало больше чем на мегабайт ИЛИ они будут часто модифицироваться, нужно подумать над тем, чтобы либо каждую запись хранить в отдельном файле, либо раскидать записи по файлам какими-то сравнительно небольшими группами.
Относительно вопроса про формат мне больше нравится вариант, когда запись в файле состоит из полей, каждое поле записывается на своей строке, причём сначала там идёт идентификатор поля, потом сколько-то пробелов, потом содержание (значение поля), и такая строка начинается с крайней левой позиции, т.е. перед именем поля в строке ничего нет; если нужно поле больше чем на строку -- текст значения продолжается на следующей физической строке в файле, и эта строка начинается либо с пробелов (тогда все лидирующие пробелы сбрасываются и не считаются частью значения), либо с какого-нибудь плюсика (тогда всё, что после него, считается частью значения). Записи отделяются одна от другой пустыми строками. Для записной книжки получится что-то вроде
По-моему, изрядно более гибко, чем как в passwd.
ответить
From Alexander (unverified) Fri Jun 28 09:56:24 2024 UTC
Re: Re: Инструмент для таблиц
Спасибо за развернутый ответ. Видел на разных форумах, посвященных Паскалю, что подобные программы делали с записью в типизированный файл с расширением “.dat”. Такой метод по вашему мнению совершенно неправильный?
ответить
From Andrey V. Stolyarov Fri Jun 28 11:39:31 2024 UTC
Re: Инструмент для таблиц
А вот зачем? Чтобы что?
Недостатки такого решения очевидны: файл становится невозможно просмотреть каким-нибудь less'ом (и вообще любой из тысяч программ, умеющих работать с текстовыми файлами), файл нельзя открыть в текстовом редакторе и внести изменения, любая работа с таким файлом требует специальной софтины, т.е. данные перестают принадлежать пользователю.
А вот достоинств применения т.н. "типизированных файлов" (т.е. бинарников с записями фиксированного размера) я не вижу вообще никаких. По идее с ними работа происходит быстрее, не надо читать файл с самого начала в поисках нужной записи, не надо на каждый чих перезаписывать весь файл... упс, так ведь если записи раскидать по одной в файл, то тоже надо будет перезаписывать только то, что изменилось, а нужная запись отыскивается по имени файла; вроде бы можно навертеть всякого быстрого поиска (да, для текстовых файлов это тяжело), так ведь об этом вроде речи не идёт, а если бы и шла, сначала стоит убедиться, что текущее (на порядки более простое) решение не удовлетворяет нас по скорости, об этом тоже вроде бы разговора не идёт.
Я вам больше скажу, бинарные форматы, даже если там записи фиксированного размера (что совсем не всегда так), обычно предусматривают какой-нибудь заголовок, и он размер имеет совсем другой, не совпадающий с размером записи. Так что на модель паскалевских типизированных файлов даже подавляющее большинство бинарников не ложатся.
Ну вот ей-богу, этот монстрик — паскалевская файловая модель — был выдуман в те времена, когда файловых систем как таковых не было, под "файлом" понималась магнитная лента на бобине. С тех пор вообще много чего произошло, кое-какой опыт наработался, и положительный, и отрицательный, пора бы уже мозги включать, а не действовать по принципу "если есть молоток, весь мир обязан превратиться в гвозди".
NB: сказанное никоим образом не означает, что модель хранения, основанная на записях фиксированного размера, вообще никогда не нужна. Очень даже нужна, те же файловые системы тому пример, там и блоки фиксированного размера, и inode'ы фиксированного размера, и всякий суперблок, и т.п. Но там определяющим фактором выступает именно что организация быстрого поиска, т.е. файловая система на диске представляет собой весьма развесистую структуру данных, позволяющую быстро искать и быстро изменять. Всё это нужно, когда простой линейный поиск нас удовлетворять перестал.
Но речь-то идёт о несчастной записнушке. И вот смотрите: объём небезызвестной графской графомании под названием "Война и мир" — около 3 MB, если в однобайтной кодировке, и вдвое больше, если в utf8. Чтение файла такого объёма в современных условиях занимает от трети секудны до где-то двух секунд, необходимость поиска нужной подстроки здесь ничего не добавляет, поскольку сравнения байтиков, уже прочитанных в память, требуют времени намного меньше (т.е. всё вместе займёт времени ровно столько, сколько потребуется для чтения с диска). Это если файл ещё в кеши не лёг, т.е. повторный поиск будет работать в десятки раз быстрее за счёт того, что с диска читать уже ничего не надо. Навертев всякого быстрого поиска, можно время нахождения нужной записи снизить до тысячных и даже, наверное, миллионных долей секунды. А теперь внимание, вопрос: нам не пофигу? Во-первых, записнушка даже близко не будет сравнима по объёму с "Войной и миром", так что реальные задержки на поиск будут измеряться сотыми долями секунды. Во-вторых, даже устранение двухсекундной задержки не факт что стоит месяца работы — ну, разве что если заказчик сильно возбухнет, а нам очень нравятся те деньги, которые он нам платит.
В общем дело в чём, прежде чем бросаться самоотверженно всё оптимизировать, нужно сначала проанализировать стоящую задачу. В подавляющем большинстве случаев окажется, что текстовые файлы приемлемы по быстродействию, при этом они несравненно удобнее в использовании. А вот если реально наша реализация перестала нас удовлетворять по быстродействию — то тогда, и никак не раньше, можно подумать об оптимизации.
ответить
From Alexander (unverified) Fri Jun 28 14:54:24 2024 UTC
Re: Re: Re: Инструмент для таблиц
В целом и у меня самого была мысль, что хранить пользовательские данные в файлах корректнее, нежели в бинарном виде, но так как мало опыта в написании программ интересовало ваше мнение.
ответить
☞ From Anonymous (unverified) Sat Jun 22 02:48:20 2024 UTC
Anonymous
На старой версии заголовок страницы был разный для разных страниц, а сейчас везде написано "Андрей Викторович Столяров: сайт автора". Если в разных вкладках открыты разные страницы, то стало менее удобно ориентироваться.
ответить
From Andrey V. Stolyarov Sat Jun 22 09:34:05 2024 UTC
Re: Anonymous
Ага, надо было дождаться, пока старый сайт сдохнет вместе с сервером (между прочим, ждать пришлось больше года), и только потом это отрепортить, когда уже нет возможности посмотреть, как было на старом сайте, и когда темплейт, сделанный на основе новой версии сайта, довольно далеко ушёл в развитии, при этом не предполагая подстройки заголовка.
Ладно, проблема примерно понятна, подумаю, что с этим сделать. Только сроков никаких пообещать не могу даже приблизительно.
ответить
☞ From НеПрограммист (unverified) Thu Jun 20 19:34:34 2024 UTC
От себя
Здравствуйте! Волею случая наткнулся на книжку, узнал про Ваш сайт и зашел выразить свое почтение и поделиться своим случаем. Не являюсь программистом по своей деятельности, но применяю регулярно питон. В основном конечно для несложных действий с интернета данные стянуть или по каталогам в системе пробежаться. Недавно стал сталкиваться с необходимостью написать что-то посложнее и начал натыкаться на различные проблемы - то типы гуляют как хотят (должна быть строка, а питон решил что это массив), то всякие костыли приходится использовать, чтобы ограничения языка обойти. Наткнулся на Ваш труд, ознакомился с некоторыми главами, нашел объяснение того, что мешает полноценно работать. Затянуло - написано очень интересно и познавательно, даже получается в дело пустить, да и с компьютером интереснее работать стало. В общем, Спасибо Вам за возможность повысить уровень владения компьютером и углубиться программирование!
ответить
☞ From Thalassa CMS (unverified) Thu Jun 20 17:17:58 2024 UTC
Thalassa CMS
Помогите разобраться пожалуйста с построениением сайта (виртуальный сайт + suexec). Скачал апаче, скачал талассу. По инструкции я подготовил директорию с templ_smoky, которую потом нужно будет рекурсивно скопировать в var/www/user/site. В только что скаченном apache2 у меня лежит apache2.conf (дистрибутив devuan) и необходимые mods и sites. Сделал симлинки по инструкции и вот теперь вопрос: что дальше? По мануалу идет работа с разрешениями, проводится символическая ссылка на директорию в домашний каталог того пользователя, из под которого потом будет работать сайт. Но я не могу понять - что делать с apache2.conf, кроме прописывания там строчки Suexec on? И как сделать так, чтобы вот эта самая группа webadmin работала у меня так же, как оно задумывалось? Ну то есть какими свойствами должна обладать создаваемая группа (как вебадмин из примера), чтобы ее можно было записать в SuexecUserGroup и все заработало? Я создал 001-site.conf, прокинул ссылки, но сайт по прежнему не виден после service apache2 restart. P.S: я запускал сайт без suexec, по инструкции для одиночного ресурса и он работал как надо.
ответить
From Andrey V. Stolyarov Fri Jun 21 11:22:04 2024 UTC
Re: Thalassa CMS
Там вроде был такой момент, что у группы должен быть gid не меньше чем сколько-то (1000?), может быть, дело в этом? Я, честно говоря, про это еле вспомнил, информация откуда-то из пыльных углов памяти.
ответить
☞ From Anonymous (unverified) Thu Jun 20 15:58:00 2024 UTC
Хотите поражать? Реклама вашей книги! (Видимо палёной)
На Тюбике: 6elcYNY9acs
ответить
From Andrey V. Stolyarov Fri Jun 21 11:00:07 2024 UTC
Re: Хотите поражать? Реклама вашей книги! (Видимо палёной)
А, это я видел, да. Унылое говно (tm) Чувак там зачитал, судя по всему, реферат из книжки, даже в моей фамилии ухитрился ударение не там поставить (между прочим, с таким я сталкиваюсь впервые за всю жизнь, моя фамилия не относится к числу редких), плюс к тому читать вслух чувак явно не умеет.
Но на тот момент, когда этот ролик вышел, данная конкретная книжка (причём именно в этом "авторском" оформлении) продавалась в бумаге совершенно официально, она из типографии вышла в декабре 2019, причём в самой книжке год издания обозначен 2020, там как раз почти сразу начался ковид, киоск, где это всё продавалось, закрылся, и у меня образовалась неиллюзорная возможность остаться с полутора сотнями экземпляров; к счастью, нашлись те, кто (уже в 2021 году) у меня эти экземпляры забрали оптом и пустили в продажу, вот как раз там в ролике книжка показана на сайте какого-то из интернетных книжных магазинов.
ответить
☞ From rkvg-es (unverified) Tue Jun 18 18:06:37 2024 UTC
Слой содержания в книгах
Со сломанным текстовым слоем в PDF-ках всё понятно, но что насчёт встроенного содержания (navigation pane)? Его тоже нет по какой-то конкретной причине? И если да, то, наверное, об этом также стоит дописать в FAQ. А если всё же нет, то мне видится, что это могло бы значительно снизить для читателей остроту проблемы с поиском в PDF.
Извиняюсь, если этот вопрос уже задавался.
ответить
From Andrey V. Stolyarov Tue Jun 18 19:56:34 2024 UTC
Re: Слой содержания в книгах
Относительно уже имеющихся книг всё просто: здесь выложены оригинал-макеты, реально использовавшиеся для печати книг, а там любые излишества могут слишком дорого обойтись, если при печати вылезет что-то не слишком ожидавшееся (и никем не замеченное) вроде рамки вокруг какого-нибудь заголовка.
Но впереди третье издание, которое, судя по всему, будет чисто электронным, печататься на бумаге не будет. Я подумаю на тему навигации в нём.
ответить
From rkvg-es (unverified) Wed Jun 19 08:31:16 2024 UTC
Re: Re: Слой содержания в книгах
Замечательно, спасибо!
Раз уж на то пошло, то ещё такой вопрос появился: стоит ли надеяться если и не на гиперссылки по тексту книги, то хотя бы на то, чтобы номерные ссылки на источники переносили на конкретную страницу в конце книги, где этот источник обозначен? Постоянно их искать вручную действительно утомляет (впрочем, как и перестукивать URL из них в адресную строку).
ответить
From Andrey V. Stolyarov Wed Jun 19 09:40:41 2024 UTC
Re: Слой содержания в книгах
Причины, по которым никаких гиперссылок (не в смысле URLов в тексте, а в смысле такого места, куда можно кликнуть мышкой и куда-то перенестись в другое место того же документа) нет в выложенных оригинал-макетах, я обозначил. Про грядущее чисто электронное третье издание — как я уже сказал, подумаю, в целом если там будет хоть какая-то навигация, то нет особых причин избегать её конкретно для ссылок на список литературы.
Идея "активных" ссылок на веб — таких, которые заставляют программу просмотра PDFа запускать браузер — вызывает у меня инстинктивное противодействие, так что такого, скорее всего, всё-таки не будет.
ответить
From Anonymous (unverified) Thu Jun 20 07:43:12 2024 UTC
Re: Re: Слой содержания в книгах
Стоит ли ожидать новое, электронное, издание в каких-нибудь иных форматах отличных от PDF и DJVU?
ответить
From Andrey V. Stolyarov Thu Jun 20 09:57:03 2024 UTC
Re: Слой содержания в книгах
Вот уж точно нет.
ответить
From Anonymous (unverified) Mon Jun 24 03:01:24 2024 UTC
Раз уж электренное издание...
Может сделаете алфавитный указатель?
У вас очень круто это сделано когда вы ссылаетесь на определенные параграфы, которые стоит знать для освоения следующей темы (мол, вот эта тема упоминалась в таком, таком и таком месте), но иногда хочется освежить тему просто потому что подзабылась и приходится долго искать где она упоминалась.
ответить
From Andrey V. Stolyarov Mon Jun 24 11:22:48 2024 UTC
Re: Раз уж электренное издание...
Он и сейчас есть, см. в конце третьего тома.
ответить
☞ From Anonymous (unverified) Tue Jun 18 08:36:01 2024 UTC
Глава 7.3.3
Объясните пожалуйста, зачем в новый тред передавать указатель на структуру с данными и вешать семафоры, чтобы избежать гонки, если можно просто закрыть мьютекс переданной структуры (в новом треде), чтобы основной поток подождал пока мы скопируем себе структуру? Или, что ещё проще, почему нельзя для каждого потока иметь свою структуру? Они же все равно будут в памяти, вопрос только в какой: на стеке у основого потока, на стеке у дочернего потока или в куче.
ответить
From Andrey V. Stolyarov Tue Jun 18 08:53:07 2024 UTC
Re: Глава 7.3.3
> если можно просто закрыть мьютекс переданной структуры (в новом треде), чтобы основной поток подождал пока мы скопируем себе структуру?
А кто вам сказал, что основной поток не успеет проскочить раньше, чем порождённый тред успеет закрыть мьютекс?
> Или, что ещё проще, почему нельзя для каждого потока иметь свою структуру?
"Свою структуру" — это вы как себе представляете, локальной её сделать в главной функции потока? А откуда основной поток узнает, по какому адресу в порождённом потоке живёт эта структура?
Впрочем, моя рекомендация относительно многопоточного программирования остаётся прежней, и она ровно одна: никогда, ни при каких условиях не используйте треды. Разве что под дулом пистолета.
Одним из ответов на вопрос "почему" тут может служить сам факт возникновения у вас вот этих вот вопросов. Как говорят в таких случаях, sapienti sat.
ответить
From Anonymous (unverified) Tue Jun 18 09:15:02 2024 UTC
Re: Re: Глава 7.3.3
> "Свою структуру" — это вы как себе представляете, локальной её сделать в главной функции потока? А откуда основной поток узнает, по какому адресу в порождённом потоке живёт эта структура?
Код без обработки ошибок и т.п., просто для объяснения идеи.
Не вижу, что тут может пойти не так.
ответить
From Andrey V. Stolyarov Tue Jun 18 11:38:43 2024 UTC
Re: Re: Re: Глава 7.3.3
В тексте книги такое решение рассмотрено и отвергнуто с подробным объяснением причин, читайте внимательнее. Соответствующий абзац начинается со слов "Можно, конечно, завести для каждого треда свой экземпляр структуры".
ответить
☞ From uint (unverified) Fri Jun 14 12:52:37 2024 UTC
интерпретируемость и компилируемость
Скажем, Python при желании можно транслировать в Си, в то же время для Си создано немало интерпретаторов. Если всё зависит только от метода, который используется для дальнейшей трансляции и выполнения кода, то интерпретируемость и компилируемость оказываются не свойствами самого языка, а свойствами реализации. Поправьте меня, если я что-то не понимаю и путаюсь в терминологии.
ответить
From Andrey V. Stolyarov Fri Jun 14 13:38:56 2024 UTC
Re: интерпретируемость и компилируемость
Здесь есть ровно два варианта: или вы читаете полностью часть 12 третьего тома трёхтомника, и особенно внимательно — главу 12.5 (эту желательно с карандашиком, особенно в вашем случае — это, скорее всего, ваш единственный шанс на удаление говна из мозга), или сваливаете вон с моего сайта и больше никогда сюда не возвращаетесь. Возможно, впрочем, и то и другое. Даже, наверное, правильнее будет, если вы отсюда свалите в любом случае, поскольку мне тут не нужны такие персонажи, которые считают питон имеющим право на существование.
ответить
From rkvg-es (unverified) Tue Jun 18 17:55:34 2024 UTC
Re: Re: интерпретируемость и компилируемость
Кстати, с Вашего позволения: предлагаю заменить в тексте "скриптинг" на "скриптование", так как ассимилированная форма заимствования более верна с точки зрения русского языка, на мой взгляд.
ответить
From Andrey V. Stolyarov Tue Jun 18 19:59:08 2024 UTC
Re: Re: Re: интерпретируемость и компилируемость
Нет уж, позвольте не позволить (tm). Отвечать на вопрос "почему" я здесь не вижу никакого смысла, хочу только напомнить то, что уже не раз и не два (и, наверное, даже не десяток раз) говорилось: я не принимаю никаких рекомендаций по тексту книги. Только сообщения о явных ошибках, но словоформа "скриптинг" таковой не является.
ответить
From rkvg-es (unverified) Wed Jun 19 09:07:52 2024 UTC
Re: Re: Re: Re: интерпретируемость и компилируемость
Ваше право. Считайте тогда это просто доброжелательной обратной связью от увлечённого читателя. Просто когда текст написан хорошим русским языком (особенно по нынешним меркам), то такие вещи на его фоне начинают особенно выделяться - и порой ощутимо царапать глаз.
Извините. Просто не читаю Ваш сайт на постоянной основе.
Может быть, тогда пришло время для отдельной гостевой странички с комментариями под эррату? С соответствующими пояснениями о том, чего там ждут, а чего нет, конечно же. Или хотя бы обозначить таковые пояснения где-нибудь явно - скажем, сносками на страницах "Книги", "Обратная связь", "Гостевая книга", да в FAQ хотя бы. Как Вам виднее будет.
И напоследок: честно не знаю, относится ли это к тексту книги, но заметил вот что. На странице "главных спонсоров проекта" указаны суммы без обозначения валюты. И остаётся загадкой, что же имелось в виду: рубли? гривны? тенге? евро, доллары? русские рубли? белорусские? приднестровские? Это довольно-таки неоднозначно, так как страницы "Об авторе" тоже нет, а подобные Вам люди с русским языком и именем живут во всём мире. К тому же, книги живут дольше авторов (а хорошие - сильно дольше), поэтому было бы неплохо, на мой взгляд, если бы со временем текст не утрачивал свой смысл нигде и ни в чём.
ответить
From Andrey V. Stolyarov Wed Jun 19 10:20:23 2024 UTC
Re: интерпретируемость и компилируемость
> и порой ощутимо царапать глаз
Здесь, по-видимому, имеется разница в восприятии слов. В моём понимании "скриптование" имеет смысл существенно более узкий, нежели "скриптинг". Я как-то так привык считать, что скриптование — это замена последовательностей рутинных действий скриптом. Ну то есть когда что-то такое взяли и оскриптовали. Т.е. вот когда человек понимает, что в десятый или какой там раз тратит время на исполнение одной и той же процедуры, мысленно говорит "тьфу, чёрт" и открывает редактор, чтобы писать скрипт, который эту процедуру будет проделывать за него. Ну, или зовёт программиста, который ему этот скрипт напишет. Вот это вот — "скриптование". Т.е. была ручная потеря времени, но мы потратили чуток времени на скриптование, и теперь у нас есть скрипт. Тогда как "скриптинг" — это вообще всё скриптовое программирование и заодно всё, что с ним связано, а отнюдь не только процесс написания скрипта для автоматизации какой-то конкретной рутины.
Ну то есть вот, скажем, программист, написавший жирную программу, понимает, что она ожирела в достаточной степени, чтобы её было неудобно использовать без встроенных возможностей скриптования, берёт какой-нибудь libtcl и встраивает в своё программу. Вот это вот он занимается скриптингом, но никоим образом не скриптованием. Скриптование начнётся, когда кто-то — сам ли он или кто-то из пользователей его программы — начнёт писать скрипты для часто встречающихся в ходе работы ситуаций. Точно так же и скрипты пишутся не только для автоматизации ручных действий, но и для решения других задач — таких, которые никто никогда вручную не выполнял. Помимо веба с трижды проклятым client side scripting, можно назвать ещё инициализационные скрипты в операционках, да мало ли что ещё. И вот это всё тоже скриптинг, но не скриптование. Во всяком случае, если эти слова воспринимать так, как их воспринимаю лично я (а такое восприятие может отличаться в соседних городах и даже в соседних отделах одной конторы).
А советы по тексту книги я не принимаю, чтобы каждый раз не объяснять вот этак вот, почему это я — автор книги — хочу оставить так, как в книге, а не так, как кому-то другому почему-то кажется лучше. Вы меня только что на такую трату времени таки исхитрились развести (ну, я сам виноват, можно было коммент не раскрывать, но мне стало интересно — это тот самый синдром "в интернете кто-то неправ"), но если я всем так буду отвечать, времени на конструктивную деятельность не останется.
> для отдельной гостевой странички с комментариями под эррату
А чем вас не устраивают комментарии на страничке самой эрраты?
> И остаётся загадкой, что же имелось в виду: рубли? гривны? тенге? евро, доллары?
На мой взгляд, всё станет очевидно, если прочитать первое предисловие (которое "философское").
ответить
From rkvg-es (unverified) Wed Jun 19 12:16:49 2024 UTC
Re: Re: интерпретируемость и компилируемость
> Здесь, по-видимому, имеется разница в восприятии слов.
Да, согласен. Разве что ещё замечал "инсталляция" вместо "установка", хотя в современном русском языке слово "инсталляция" в первую очередь наводит на смысл, эээ, несколько искусствоведческий. В любом случае, "моё дело - доложить" (ц).
> А чем вас не устраивают комментарии на страничке самой эрраты?
Тем, что у меня ум за разум и шарики за ролики, и иногда я пишу быстрее, чем думаю. Конечно же, я хотел предложить просто дописать где-нибудь, что комментарии к изложению и стилистике не принимаются. Чтобы было куда людей носом тыкать.
> Вы меня только что на такую трату времени таки исхитрились развести
Ну, я просто стараюсь быть вежливым. :)
ответить
From искусствовед (unverified) Tue Nov 19 09:14:22 2024 UTC
Re: Re: Re: интерпретируемость и компилируемость
> в современном русском языке слово "инсталляция" в первую очередь наводит на смысл, эээ, несколько искусствоведческий
а в последнее время сантехнический
ответить
☞ From cadabr (unverified) Tue Jun 11 22:26:01 2024 UTC
FAQ ideal_language
Предлагаю добавить ссылочку в FAQ: http://stolyarov.info/guestbook/archive/2/#comment-1166.
Просто сложилось впечатление, что некоторые из тех, кто интересуется идеальным языком программирования, почему-то думают, что единственная информациях о нем представлена в комментариях на сайте и в последних томах "Введения в профессию" (хотя и там упоминается некоторая статья).
И поскольку, до недавнего времени, я тоже так думал, решил напомнить, что у Андрея Викторовича есть набор статей, которые должны помочь с пониманием того, как должен выглядеть этот язык.
ответить
From Andrey V. Stolyarov Wed Jun 12 13:11:01 2024 UTC
Re: FAQ ideal_language
Ну, добавить-то я её добавил, пусть будет.
А вообще статья почти 17-летней давности к нынешнему моменту уже не отражает моего понимания этой темы. В те времена я ещё не знал про дихотомию Остерхаута и не понимал принципиальности различия между интерпретацией и компиляцией.
ответить