Гостевая книгаЗдесь вы можете оставить сообщение для владельца сайта, отзыв о функционировании, оформлении, содержании и вообще написать всё, что думаете по этому поводу. Просьба придерживаться темы («по этому» — это ещё не «по любому») и соблюдать приличия :-) Обратите внимание, что связаться с автором сайта можно также и через страницу обратной связи, которая позволяет отправить автору email. Более старые комментарии можно посмотреть в архиве гостевой книги. Учтите, что комментарии на этом сайте премодерируются. ![]() |
пояснениеВы находитесь на официальном сайте Андрея Викторовича Столярова, автора учебных пособий по программированию и информационным технологиям. Если вы искали сайт замечательного писателя-фантаста Андрея Михайловича Столярова, то вам, к сожалению, не сюда. Андрей Михайлович Столяров в библиотеке Мошковаваш сеанс |
☞ From Dsaabaveyex (unverified) Sun Sep 1 19:14:54 2024
Континуации в идеальном языке программирования
Я пока не до конца понял континуации, но правильно ли я понимаю, что их можно будет реализовать в упоминаемом вами идеальном языке, посколько в нем будет реифицировать стек?
Имеют ли континуации какой-то смысл в императивном программировании?
ответить
Re: Континуации в идеальном языке программирования
В нём можно будет реализовать одну из тех вычислительных моделей, где континуации есть — например, Scheme. Как? Примерно так: http://www.intelib.org/intro.html.
Реификация стека тут совершенно ни при чём, поскольку ваш второй вопрос
Имеют ли континуации какой-то смысл в императивном программировании?
вполне законный, и ответ на него вполне однозначный: конечно же, нет.
ответить
Re: Re: Континуации в идеальном языке программирования
конечно же, нет
Примерно так и думал, спасибо, что развеяли сомнения.
P.s. про InteLib знаю и вашу статью про реализацию континуаций в InteLib Scheme бегло просматривал. А также жду дальнейших обновлений (как минимум сайта).
ответить
☞ From jjg (unverified) Fri Aug 30 18:19:27 2024
Событийно-ориентированное программирование
В главе про событийно-ориентированное программирование приведены реализаця структуры Session. А зачем, если можно хранить сообщения в дополнительном поле у списка дексрипторов. Там где cur->fd, добавить поле cur->buffer, и тогда у каждого сообщения свой буфер сделать. А ввод сделать неблокирующим, тогда никто не остановит сервер в момент записи.
ответить
Re: Событийно-ориентированное программирование
Например, затем, что не всякому дескриптору нужен буфер. Вот слушающему сокету, например, не нужен. Если бы в программе были дейтаграммные сокеты, им тоже не был бы нужен никакой буфер. А некоторым сокетам может, наоборот, потребоваться буфер на вывод.
Что касается предложения делать ввод неблокирующим — видимо, вы вообще не поняли, о чём идёт речь.
ответить
Re: Re: Событийно-ориентированное программирование
А, понял. А на счёт неблокирующего ввода-вывода, имеется ввиду, что он всегда неблокирующий в таких программах? Но в случае если заранее нужно получить известное количество данных (может цифру, означающую что-нибудь), то ведь тогда можно чтобы программа и заблокировалась, получая данные. Известно же, что она точно не останется так в блокировке надолго.
ответить
Re: Re: Re: Событийно-ориентированное программирование
Ответы на ваши вопросы в тексте книги даны в явном виде, читайте внимательнее.
ответить
☞ From Андрей (unverified) Fri Aug 30 12:17:42 2024
Книга Страуструпа
Здравствуйте Нахожусь в процессе чтения (и перечитывания) вашего трёхтомника. Заметил, что и на страницах, посвящённых C++, и на сайте, вы упоминаете второе издание книги Страуструпа. Захотел найти и прочитать и сравнить (у самого на руках есть какое-то "специальное издание", которое наобум покупалось перед поступлением в вуз, попытки прочитать провалились). Вопрос - где достать английскую версию? Я не смог найти. Зато русская версия нашлась (не сканы, до конца не уверен, что это правильная книга) как залитая кем-то из аж из балтийского "военмеха".
ответить
Re: Книга Страуструпа
> "специальное издание"
Насколько я помню, оно вышло вскоре после третьего, и по-моему оно было посвящено "знаменательному", чтоб его, событию — формальному принятию первого стандарта C++.
Собственно говоря, надо было не книги издавать, а похороны устраивать. И поминки.
> попытки прочитать провалились
Ещё бы, гыгыгы.
По вашему основному вопросу: в мире корпорастов и копирастов добыть нужную книгу нетривиально. У меня её в электронном варианте нет, где-то валяется бумажная, но я сейчас сильно не там, где она валяется.
ответить
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!
ответить
Re: Книга Страуструпа
За книгами на английском - на libgen.is, сам качал оттуда 2 и 3 издание. Ещё они есть на rutracker.org.
ответить
Re: Re: Книга Страуструпа
Большое спасибо, нашёл на libgen! На рутрекере проверил, не нашёл, но может плохо искал.
ответить
Re: Re: Re: Книга Страуструпа
На рутрекере, похоже, нет английской версии 2-го издания, зато есть русский перевод, которого нет на libgen (или есть, но в вордовском формате):
https://rutracker.org/forum/viewtopic.php?t=2226992
В раздаче весьма доставляют два момента: во-первых, описание раздачи не соответствует содержимому; во-вторых, невзирая на "во-первых", её всё ещё кто-то раздаёт уже 15 лет.
ответить
☞ From Newb (unverified) Fri Aug 30 11:16:08 2024
Взаимодействие неродственных процессов
Добрый день. В книге про ОС вы пишете, что named pipes можно использовать для взаимодействия процессов, у которых не общий родитель. Еще вы отмечаете, что вот этот named pipe работает через файл.
Я не так много работал с межпроцессным взаимодействием, но каждый раз, как приходит идея общаться через файл, хочется сразу забыть этот способ и быстро придумать что-то другое. Есть ощущение (которое вот прям строго доказать я не могу), что это не надежно и не безопасно.
Подскажите, пожалуйста, верны ли мои опасения относительно взаимодействия через файл? Если да, то применимо ли это все к named pipes? Или с ними все интереснее устроено, и можно пользоваться, не переживая?
А если так действительно лучше не общаться, то что остается? Есть сокеты, конечно. Но не перебор ли это раскатывать сокеты для переброса данных между 2 процессами?
ответить
Re: Взаимодействие неродственных процессов
Какой ещё нахрен "через файл"?! Именованный канал использует файлы специального типа (FIFO), которые нужны только для выполнения open. После этого получается точно такой же канал, на диске ничего не хранится. Собственно, файлы типа FIFO (так же точно, как и файлы устройств, и файлы сокетов) в принципе не предусматривают хранения информации на диске, они состоят из одного inode'а.
И нет, сокеты — никоим образом не перебор, так может казаться только когда сокеты ещё не освоены.
В принципе если рассматривать взаимодействие действительно через файл, т.е. когда информация передаётся между "действующими лицами" через честный файл на диске, то там да, получаются весьма нелепые пляски, в книге об этом рассказывается в следующей части, в главе 7.4. Но ни к FIFO, ни к сокетам это никакого отношения не имеет.
ответить
Re: Re: Взаимодействие неродственных процессов
Хм...значит, упустил я что-то...спасибо
Тогда, при той же задаче, в выборе между сокетом и именованным каналом следует руководствоваться вопросом: требуется двустороннее и одностороннее общение?
ответить
Re: Взаимодействие неродственных процессов
Вообще говоря, не совсем. FIFO хороши тем, что их можно создавать командами в командной строке и перенаправлять ввод-вывод в них и из них, то есть они тривиальны в обращении. Скажем, для скрипта на Bourne Shell'е FIFO'шки прекрасно подходят, а вот чтобы скрипт работал через сокет — ну это можно себе представить, но как-то тяжело.
Я бы сказал, что скорее сокеты есть смысл использовать, когда имеется внятная клиент-серверность и все участники взаимодействия — программы, написанные на языках общего назначения. В этом случае с сокетами может получиться сильно проще, чем с FIFO, особенно когда сервер один, а клиентов много.
ответить
☞ From guest (unverified) Tue Aug 27 08:58:42 2024
Про упомянутую вами обделённость в коммуникации с диаспорой в Черногории
Что хочу по поводу обделённости в коммуникации, в силу использования оными приложений типа «мессенджеры» сказать. Обычно содержательность сие коммуникации начинается с перекидывания малоинформативного текста, этим обычно и заканчивается. В редчайших случаях люди способны что-то развёрнуто обсудить. Дело в том, что мессенджер, по сути своей гуёвое приложение с апишкой, трэкерами и прочим, вопрос лишь в том, при каких обстоятельствах ими обычно пользуются. А именно, при ходьбе, езде в общественном транспорте, спросонья и так далее, потому что в руках постоянно вертится что? Правильно, смартфон. Если бы люди предпочитали, даже если не пк или неттоп (небольшому по габаритам корпуса), то хотя бы ноутбук, заместо смартфона, мне кажется им бы не лень было и на развёрнутом у кого-нибудь джаббере коммуницировать. А так, полезность общения в мессенджерах низводится практически до обсуждения, где продаётся свежий хлеб.
ответить
Re: Про упомянутую вами обделённость в коммуникации с диаспорой в Черногории
К сожалению, реальность такова, что они тут вообще всё обсуждают в телеге. Хочешь узнать, кто как справился с очередной бюрократической сложностью — в телегу. Хочешь спросить что-то насчёт съёма квартиры — в телегу. Хочешь какую-нибудь тусовку найти — в телегу. Понадобился врач — в телегу.
Вообще сдаётся мне, что вы путаете причины и следствия. Телеграм именно что навязывает смартфон в роли "терминального устройства", так что тут первично вот это вот "а пошли все в телегу", а что для этого приходится использовать смартфоны — это следствие.
ответить
Re: Про упомянутую вами обделённость в коммуникации с диаспорой в Черногории
> мне кажется им бы не лень было и на развёрнутом у кого-нибудь джаббере коммуницировать
Когда кажется, креститься надо. Дискордом, к примеру, никто из моих знакомых с телефона не пользуется (кроме крайних случаев), а только с, как минимум, ноутбука. Что, однако, не мешает им создавать голосовые и видеоконференции исключительно в дискорде, без каких-либо альтернатив, невзирая даже на то, что он раздражает своим поведением абсолютно всех участников конференции, и все они считают его редкостным дерьмом.
ответить
☞ From guest (unverified) Tue Aug 27 08:40:49 2024
Выбор дистра
Подходит ли слакварь для того чтоб ей пользоваться, настраивать под себя, не меняя систему хотя бы раз в пятилетку? С учётом тех тенденций, что туда уже вяленого (wayland) пихают
ответить
Re: Выбор дистра
Ну, уж если слакварь не подходит, то вряд ли подойдёт хоть что-то. Опять же, насколько я понимаю, вяленого там сделали доступным, но по умолчанию там вообще текстовая консоль, и выпиливать иксы вроде никто пока не собирается.
ответить
Re: Выбор дистра
FreeBSD
ответить
Re: Выбор дистра
Думаете, там нет своих приколов?
ответить
Re: Re: Выбор дистра
Тогда уж NetBSD. Раньше бы предложил Open, но они сомнительной фигни надобавляли.
ответить
NetBSD
вот этот тред видели? :-)
ответить
Re: NetBSD
Я его как раз и начал. И ещё там предложил NetBSD, раз уж опёнок скатился.
ответить
Re: Re: NetBSD
Да-с, прошу прощения, что-то у меня с мозгами. Вечно у меня в голове путаются Net и Open.
ответить
Re: Выбор дистра
А почему Net или Open лучше чем Free?
ответить
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 в интернете я еще не видел. Остается фряха.
я не автор того поста, если что
ответить
Re: Выбор дистра
Вроде тут в гостевухе пользователи NetBSD были, не?
ответить
Re: Re: Выбор дистра
Если честно, я здесь только пользователей openbsd видел.
ответить
Re: Выбор дистра
Мне, вообще-то, интересно именно обоснование мнения, почему OpenBSD или NetBSD может быть лучше, чем FreeBSD.
Причём не в контексте изучения трёхтомника (который в треде, насколько я понимаю, не подразумевался), а в целом.
Ну а то, что у NetBSD мало пользователей, к вопросу вообще отношения не имеет. Они есть и этого достаточно.
Если вы знаток фряхи, то лучше уж ответьте топикстартеру в контексте вопроса, которым он озабочен: не "пихают ли вяленого" в FreeBSD?
ответить
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
Экскоммуницированость
Сталкивались ли с тем, что люди не воспринимают потребность в приватности всерьёз? Когда начинаешь рассказывать об этом, люди начинают на тебя смотреть, как на пришельца. Как переубедить публику о том что это важно? Такое ощущение, что мозги у всех промыты фразами а-ля "Хорошим нечего скрывать".
ответить
Re: Экскоммуницированость
> Сталкивались ли с тем
Постоянно.
> Как переубедить публику
Ну, мой основной аргумент — вот лично ты, может, и не нужен никому (на самом деле, конечно, нужен, и ещё как, но это твои проблемы), но вот ты уверен, что никому не нужен никто из тех, с кем ты общаешься? А почему ты так уверен? А ты у них спросил?
> "Хорошим нечего скрывать"
В таких случаях я обычно напоминаю, что самый главный, самый вооружённый и самый опасный преступник в мире — государство; люди, которые про это забывают, опасны для окружающих.
Действует не всегда, но если не действует — то можно прекращать общение по принципу "я сделал всё, что мог".
ответить
Re: Экскоммуницированость
>Такое ощущение, что мозги у всех промыты фразами а-ля "Хорошим нечего скрывать".
Попросите у человека фото банковской карты с обеих сторон :)
Обычно люди отказываются, и уже можно отсюда диалог продолжать. Есть и такие, которые без задней мысли дают - вот с ними надо в принципе общение прекращать, они опасны.
ответить
☞ From Vimофицированный (unverified) Mon Aug 26 10:59:33 2024
Русский язык и Vim
День добрый. Как-то вы упоминали, что написали все свои книги в vim. Исходя из того, что команды в нем на англ, а книги ваши на русском, возникает вопрос, а как команды использовали? Сами настраивали маппинг клавиш? Или взяли плагин из интернета?
А то я что-то взял из интернетов, а работает кривовато, не все команды поддерживает. Может, посоветуете что, а то переключать раскладку каждый раз не хочется
ответить
Re: Русский язык и Vim
У меня переключение регистров повешено на правый Alt, так что никаких проблем нет давать команды латиницей. Я, больше того, некоторые знаки препинания набираю на латинском регистре, даже когда пишу русский текст — просто не помню, где они в русской раскладке.
ответить
☞ From user-12 (unverified) Mon Aug 26 08:45:07 2024
Евросовок
Посмотрел ваше последнее видео касательно ареста Павла Дурова и тут же увидел новость (warning! сайт с js):
Ссылка
Похоже евросовок окончательно перестал скрывать свою истинную сущность, и нас ждет еще больше ограничений со стороны государства. И выхода, похоже, из этого нет. Поезд ушел
ответить
Re: Евросовок
Никто никуда не ушёл. Даже наоборот, возможно, до публики допрёт, наконец, реальный смысл всех разглагольствований о "педофилии", "детской порнографии" и прочем, где якобы бедные деточки страдают (хотя как может хоть одна деточка пострадать, когда взрослые дядьки какими-то там картинками перебрасываются).
А что в евросоюзе нормальным людям не место — это я уже давно понял.
ответить
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 актрисс вообще ничего не заметил. И никаких псих. травм, ни-че-го не было.
ответить
Re: Re: Re: Евросовок
> Я так понимаю предполагается, что само преступление это съемка, а распостранением эту съемку "поддерживают".
Вы понимаете не так. Синтезированные изображения нынче тоже вне закона, причём уже лет пятнадцать как эта шиза началась. Просто едва ли не у большинства людей при слове "дети" отключаются остатки мозга, так что стационарным мошенникам ну вот прямо грех не воспользоваться такой удобной оказией для оправдания всевозможной цензуры и прочего беспредела.
ответить
☞ From Eduard (unverified) Mon Aug 26 07:53:32 2024
Дотелеграмились
Здравствуйте, Андрей Викторович. Может быть сочтете за оффтопик, но новость про Пашку Дурова для меня показалась странной. Арестовали его в стране, которая вроде бы "свободная". Смотрите, пользователи телеги, как ваша безопасность сходит на нет.
ответить
Re: Дотелеграмились
Евросоюз практически весь целиком — левацкая богадельня, какая ещё "свободная страна"? Социализм и свобода слова — явления несовместимые.
P.S.: http://infoviolence.org/ru/vblog/video080.html
ответить
Re: Дотелеграмились
С каких пор Франция "свободная"? Это какие-то мифы эпохи сельских либералов типо Новодворской (на самом деле это и не либералы вовсе, и по взглядам ничем не отличаются от Шарикова из "собачье сердце"). Франция - колыбель всего несвободного. После великой французкой революции от туда и повылазили те же идеи, что в будущем станут следствием голодомора. Германия - почти то же самое. Каким образом осколок от ГДР, потомок третьего рейха, может вдруг быть "свободным"?. Если принимать решения на основании красивых картинок из гугла, то в какой-то момент тебе и Северная Корея может показаться "свободной". По-настоящему свободная страна, это пожалуй только США, и то с поправкой, что всё таки перегибы в истории США были. И такие инициативы как реформа Obamacare и Байденовские запреты на оружие - совсем не радужная перспектива.
ответить
Re: Re: Дотелеграмились
Поправочка: свободных стран не существует. США свободной страной не являются вообще ни в каком виде, пардон, Дуров вон пытался там сначала запуститься, пришлось в Дубай бежать, пока хвост не оттяпали.
ответить
Re: Re: Re: Дотелеграмились
>США свободной страной не являются вообще ни в каком виде
Но почему? В США, например, нельзя сесть за слова. Есть хоть один прецедент, когда человека бы посадил или хотя бы оштрафовали за оскорбление? Едва ли найдётся. В США разрешена частная дискриминация. Например, будучи владельцем магазина, можно не впускать туда негров, нарушением закона это не будет (правда, такие инициативы не редко подвергаются общественному давлению). В США полностью разрешено ношение оружие, и даже без лицензии. Пожалуй, это единственная страна, где есть не только право на свободное ношение оружия, но и не нужна для этого лицензия. В США до 2010 года, медицинская страховка не была обязательной. То есть, можно было себя и не страховать, если это не требуется. В США законы отдельных поселений в штате, могут сильно отличаться от законов штата. Грубо говоря, в шате в котором запрещены наркотики, можно спокойно найти деревню, где местное самоуправление легализовало наркотики полностью. В США разешено устраивать несанкционированный митинг на любой не-частной земле. Поэтому, к слову, в университетах митинги постоянно и собираются, так как по-закону оттуда нельзя митингующих выгнать. Случаются, конечно и перекосы. Например, ту же секту "Ветвь Давида" уничтожили незаконно (буквально, не было ни одного законного основания начинать штурм). Но даже это нашло отражение в обществе, и по этому поводу была масса судов, и масса протестов. Так, что пожалуй более свободной страны и нет. Практически в любой стране европы (и уж тем более в России) есть законы, запрещающие даже говорить. В Великобритании, вполне себе могут приехать полицейские за пост в интернете. Так, что ни в какое сравнение.
ответить
Re: Re: Re: Re: Дотелеграмились
> более свободной страны и нет
Более свободной, возможно, и нет. Но это не делает США свободной страной.
ответить
Re: Re: Re: Re: Дотелеграмились
Для меня миф о свободе слова во Франции закончился, когда я узнал о штрафе в 50 килобаксов за публичное отрицание холокоста (это если повезет, а могут и год тюрьмы впаять). Что касается США и ваших аргументов, то нет ни одного штата, где были бы одновременно легализованны и наркотики и оружие, получается такой вот взаимоисключающий XOR - либо то, либо другое. Далее, в США можно сделать патент на программное обеспечение. Ну и напоследок, обязанность платить налоги там где ты даже не живешь это маразм высшей степени.
ответить
Re: Re: Re: Re: Re: Дотелеграмились
На счёт оружия и наркотиков, не правда. В штате Орегон разрешено оружие, и с 2021 года там разрешены тяжёлые наркотики, причём, конкретно в поселении кламат фолс разрешены все, включая самые тяжёлые. Ну, а на счёт "платить налоги" и "патент на программное обеспечение", могу добавить, что в США ещё и купить "обрез" нелегально. Но в чём суть таких рассуждений? Я понимаю, что полезно стремиться к наибольшей свободе, но фыркать на налоги, когда в большинстве стран даже свободы слова не имеется - это разговор в пользу бедных. Это как самому сидеть даже без хлеба, но зато критиковать соседа, за то, что он недожарил стейк. Сидеть во Франции или Дубае - такая себе идея, когда есть возможность жить в США.
ответить
Re: Дотелеграмились
Ещё раз, и медленно: сравнивать не надо.
В Дубае, впрочем, жарко, но о других недостатках я пока не слышал.
ответить
Re: Re: Дотелеграмились
В арабских странах, в частности в ОАЭ, активно блокируют видеоконференции (over IP). Хотя сообщения через мессенджеры ходят, позвонить через них не получится. Иронично, но через Телеграм тоже.
Плюс если говорить о Дубае, то там какая-то жёсткая монополия на телеком. Чуть ли не 70% сотовой связи у одной около-правительственной компании, и остальные 30% у другой. И на свой рынок они никого не пускают путём обязательного лицензирования такой деятельности у государства.
А, ещё в ОАЭ активно блокируют VPN. Покруче, чем всякие там ркны.
ответить
Re: Re: Re: Дотелеграмились
> В арабских странах
Не, ну в Иране, скажем, я никому жить не предлагаю.
> активно блокируют видеоконференции (over IP)
Насколько я вижу, мои знакомые, торчащие нынче в Дубае, всякими дискордами и зумами прекрасно пользуются. Возможно, нашли, как это обходить.
> телеком. Чуть ли не 70% сотовой связи
Телеком и сотовая связь не одно и то же (в частности, два сотовых оператора — это б/м нормально, как и их лицензирование, поскольку радиочастоты не резиновые), но вообще да, с интернетом (в том числе проводным) там как-то странно всё.
К тому же жарко.
Но налога на доходы там нет, и это само по себе заслуживает внимания. Я, впрочем, не утверждаю, что это идеальный вариант, сам-то я туда не поеду.
ответить
Re: Re: Re: Re: Дотелеграмились
> два сотовых оператора — это б/м нормально, как и их лицензирование, поскольку радиочастоты не резиновые
По-моему, два сотовых оператора, предоставляющих услуги конечным пользователям, это какая-то хрень. Частоты, конечно, не резиновые, но почему тогда не сделать одного на всю страну оператора с вышками и частотами, на котором будут работать уже коммерческие компании как виртуальные операторы?
ответить
Re: Re: Re: Re: Re: Дотелеграмились
> По-моему, два сотовых оператора, предоставляющих услуги конечным пользователям, это какая-то хрень
В Москве в своё время довольно долго их как раз два и было — мотористы и пчёлы. До них ещё были сети доисторических протоколов (не GSM), про них ничего не помню — в их эпоху у меня ещё не было сотового телефона.
Когда Мегафон продавил себе путь на московский рынок, публика хлопала в ладошки и кричала, что теперь опсосы будут нам доплачивать за потребление их услуг. Четвёртый сотовик — Теле2 — появился намного позже.
Замечу, больше четырёх сотовых сетей в одной географической точке я не видел нигде и никогда.
К чему это я? К тому, что между двумя и четырьмя корпорациями на одном рынке разницы серьёзной нет, четыре действующих игрока точно так же способны к картельным сговорам, как и два. Трудности начинаются, когда количество независимых конкурирующих участников рынка приближается к двум десяткам, а совсем тяжко картелям становится лишь тогда, когда рынок оказывается открыт для входа любых новых игроков, т.е. нет вообще никаких препятствий к этому. На рынке сотовой связи это невозможно именно в силу ограниченной вместимости диапазонов.
> почему тогда не сделать одного на всю страну оператора с вышками и частотами, на котором будут работать уже коммерческие компании как виртуальные операторы?
Кое-где так и есть.
ответить
Re: Re: Re: Re: Re: Re: Дотелеграмились
Суть в том, что если с ограничением свободы слова я еще могу смириться (анонимность в интернете полностью пока еще не убили, а в реальной жизни я с кем попало на пикантные темы разговоры не веду), то с обнаглевшим грабежом моего кошелка двух государств одновременно я мирится не готов, не настолько богатый. Вообще, как нас уже выше поправили, сравнивать толку нет, везде сейчас жить не сладко, предлагаю на этой ноте диалог и закончить.
ответить
Re: Re: Re: Re: Re: Re: Re: Дотелеграмились
>Суть в том, что если с ограничением свободы слова я еще могу смириться, то с обнаглевшим грабежом моего кошелка двух государств одновременно я мирится не готов
Как это обычно и бывает, в таком случае ты получаешь и отсутствие свободы слова, и грабёж твоего кошелька. А всё потому что нельзя мирится с "ограничением свободы слова". Такими темпами, свободы не будет вообще никакой и ни в каком виде.
ответить
Re: Re: Re: Re: Re: Re: Re: Re: Дотелеграмились
Мириться с грабежом кошелька тоже нельзя. И то насилие, и это насилие, принципиальной разницы тут нет.
Вообще завязывайте, я не вижу никакого смысла в этой дискуссии. Если вас почему-то устраивают Штаты (что крайне странно), то это не значит, что они должны устраивать всех. Для меня, например, это вообще не вариант.
ответить
☞ From u (unverified) Sun Aug 25 17:21:31 2024
Анонимная сеть
Каким уровнем знаний нужно обладать, чтобы реализовать анонимную сеть из "Обращения к публике"? Может ли данную сеть разработать, но не контролировать НКО?
ответить
Re: Анонимная сеть
> Каким уровнем знаний нужно обладать
У меня нет ответа на этот вопрос.
> Может ли данную сеть разработать, но не контролировать НКО?
Насколько я могу судить, любые корпорации, вне зависимости от их "коммерческого" статуса, устроены одинаково. Так что если интересно моё мнение — нет, не может.
ответить
☞ From hmm (unverified) Sun Aug 25 15:00:50 2024
Туманные перспективы открытого железа
Андрей Викторович, здравствуйте. Я пока только учусь, поэтому могу невольно упускать какие-то моменты, к тому же я относительно недавно начал идти по пути системщика, поэтому также могу невзначай не учесть историческую справку развития (и деградации) компьютерного железа, прошу не судить строго.
Возьму один контраргумент со стороны проприетарщиков и их выгораживальщиков, вольных внедрять в чипсет микроконтроллеры, являющие собой ничто иное, как чёрный ящик (речь об IME-регионах и прочих), который я слышал с их стороны, зачем вообще производителю это надобно — затем, мол, что делать комплексный цикл производства железа кратно сложнее, чем писать программки, поэтому производителю и позволительно решать за всех, собственно это и является на текущий день неким флагманским оправданием его закрытости. Ежели просто рассматривать закрытые прошивки и спецификации в контексте текущих реалий, то для успешной продажи этого самого железа производителю необходимо его производство с учётом максимального кол-ва интересов для увеличения прибыли и с последующим его сбытом, максимально запудривая мозги, гламурные и не только. Поэтому, видите-ли, производителю якобы должно быть позволительно на сегодняшний день бесконтрольно закрывать что-то там у себя в прошивках, типа чтобы конкурентов не плодить (или вставьте, как говорится, любую другую надуманную причину), хотя, думаю, нетрудно понять, чьи интересы здесь могут учитываться ещё больше, чем интересы самого производителя; а контрпример с открытым софтом и беспроблемности его распространения якобы не работает, потому что это не более, чем программа (хотя казалось бы, почему-то ловко упускается то, что прошивка по сути своей тоже программа).
С одной стороны, всё типа понятно: рыночек решает, все дела — вали, мол, если не нравится, пилить своё. Прямо вот возьму и побегу осуществлять заказ на полупроводниковый завод, хотя куда пуще будет открыть свой, что уж там.
То, что могу наблюдать с происходящим в архитектуре Risc-V, да банально даже глядя на их головной сайт и тех корпоратов, которых на нём они упоминают, а также из кого эта шайка-лейка состоит (те же пресловутые стандартизаторы), вызывает тихий ужас. Как-то на горизонте не виднеется даже малейшего намёка на изменение ситуации.
Предлагаю полуироничный вариант, как делать в этом случае: создать правовой прецедент, в котором, ровно как и у любого, пардон за такое сравнение, пирожного, продающегося в розницу, будет известен состав его производных частей.
А что бы вы предложили в разрешении этого вопроса на возможное повсеместное лишение прав на внедрение незадокументированного публично чужеродного (не являющегося обязательным для функционирования) оборудования внутри железа?
ответить
Re: Туманные перспективы открытого железа
Я бы, честно говоря, предложил устроить геноцид вебщикам, после чего откатиться на железо производства до 2010 года включительно. Ни для чего, кроме браузера, более новое железо не требуется.
ответить
Re: Re: Туманные перспективы открытого железа
>Ни для чего, кроме браузера, более новое железо не требуется.
Игры. Но там все решается геноцидом пользователей игровых движков и последующей их заменой на программистов (пусть даже пользующихся теми же игровыми движками).
P.S. Тяжелый рендеринг и стриминг сюда не входят, так как требуют не ПК, а рабочую станцию.
ответить
Re: Re: Re: Туманные перспективы открытого железа
Ну и какие игры за последнее время вышли, в период с 2018 по 2024? Может 1-2 штуки назвать можно, cyberpunk и rdr да и всё. При том, что графика с 2013 года не сильно улучшилась, а требования к железу возросли. Так, что я уверен, что люди купившие хорошие компьютеры для игр, просто пытаются оправдать покупку, играя и нахваливая всё подряд, лишь бы не посчитать свою покупку глупой.
ответить
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 от Габена, хвала ему навеки, работала, пусть и на низких настройках без единого провисания. С симуляцией физики и графики порталов. В том числе бесконечно показывающих самих себя, бесконечно пропускающих через себя тестовые кубы, и в том числе когда я летал через всю карту.
ответить
Re: Туманные перспективы открытого железа
Э-мммм... там когда в ytid.cgi ссылку отсабмиттили, внизу появляется УРЛ более короткий, в котором только сам скрипт и ID видоса.
ответить
Re: Re: Туманные перспективы открытого железа
Не заметил :)
А зачем тогда "длинная" ссылка нужна?
ответить
Re: Re: Re: Туманные перспективы открытого железа
"Длинная ссылка" сама собой получается в адресной строке браузера, когда веб-форма сабмитится методом GET. Ну вот так работает сабмит формы через GET (в отличие от POST).
ответить
Re: Re: Re: Re: Туманные перспективы открытого железа
Перечитал, понял идиотизм своего вопроса.
Извините, я спать, хватит с меня
ответить
Re: Туманные перспективы открытого железа
Да пофиг, спокойной ночи :-)
ответить
Re: Re: Re: Re: Re: Туманные перспективы открытого железа
> фотореалистичное игровое кино
Поправка: интерактивный мультик без капли фотореализма. Тот же Cyberpunk 2077 выглядит натуральнее, особенно если смотреть не только на текстуры, но и на физику: свет, тени, огонь, дым, воду, вспышки, растительность. Я говорю, конечно, про его нынешнее состояние, а не про то, что было на момент выхода. И при этом всё равно люди там не особо похожи на людей: кожа, волосы, одежда, движения - мозг человека даже самую мелкую ненатуральность в этом палит очень быстро. Поэтому фотореализма в играх, скорее всего, не будет и с более мощным железом, все вот эти мелочи сжирают прорву памяти и процессорного времени. Особенно если это игра с модным нынче открытым бесшовным миром.
Игровой мир в первую очередь не должен противоречить сам себе, именно поэтому в играх почти не встречается фотореализм: люди чувствуют фальшь, когда одни части выглядят натуральнее других, и такая "реалистичная" графика воспринимается как менее качественная, чем мультяшная, но мультяшная на одном и том же уровне во всех аспектах. То есть, у RimWorld графика лучше, чем у Unrecord, как бы странно это ни звучало.
Я уверен, что уровень этого самого Cyberpunk можно получить на более слабом железе, чем требуется ему сейчас. Но я очень сомневаюсь, что достаточное для этого железо имелось в широкой продаже 10 лет назад. Как минимум потому, что 10 лет назад в видеокартах ещё не было трассировки лучей в реальном времени.
ответить
Re: Re: Re: Re: Туманные перспективы открытого железа
Да дофига вышло, честно говоря. Непонятно только, почему вы решили помянуть именно Cyberpunk и RDR и их гигантскими открытыми мирами, которые загрузили бы работой даже новое игровое железо даже с графикой 15-летней давности.
Фактически, игровые компьютеры это не совсем то же самое, что ПК. Разница примерно как между ПК и рабочей станцией. Так что, я полагаю, Андрей Викторович прав, говоря, что новое железо требуется лишь для браузера, ведь он, очевидно, имел в виду ПК, а не специализированные устройства для игр.
ответить
Re: Re: Туманные перспективы открытого железа
Если так подумать, то всё куда более запущенно. Замену вэбанутости децентрализованными сетями, видение которых вы описывали в гостевой, сегодня представить трудно — людей, в частности молодое поколение (оно и немудрено, доверять родителю воспитание его же ребёнка интернету также просто, как этому же интернету поганить мозги), что сам наблюдаю воочию, подсадили на такую соску контента, что её от них не оторвать и привязыванием прицепа к самосвалу и вдавливанием тапки в пол.
Из того, что интернет даёт, что можно и нужно брать, это какие-то структурированные (что важно, не разношёрстные с, хрен поймёшь какой, сортировкой) сборники, их бы всё равно хотел видеть в замене инету. Назвал бы эту возможность централизованным каналом read only, но чтобы реализация была, если это не совсем уж глупо прозвучит, через подключение этих локальных сетей к этой уже ридонли сетке. Распространение таких централизованных каналов-сборников через сарафан, на всякий уточню. Ясен пень, вопрос модерации никак не решить, если будет свобода, собственник же каналом руководит, но если будут постить какой-то трешак, то эта локальная сетка просто обрубает с той концы и прекращает иметь к ней доступ. А чтобы не терять ту годноту, которая потенциально была в том канале, просто делать бэкапы на свой сервер (потому что если брать во внимание, что сети будут статичными, можно будет как минимум быстренько пробежаться по важным для себя материалам и скопировать их содержимое; ну а в лучшем случае, будь владелец того канала небезразличным к посетителям, сделает простую выгрузку с ресурса, в каком-нибудь приемлемом формате, с опциями выбора интересующих разделов).
ответить
Re: Re: Re: Туманные перспективы открытого железа
Весь этот поток сознания не имеет никакого отношения к делу. Любой информационный сервис может быть содержательно реализован целиком на стороне сервера, без исполнения в браузере, а без свистоперделок можно обойтись. Всё, точка, все свободны, смерть вебщикам. Ранее описывавшийся проект наложенной сети вообще совершенно про другое.
ответить
Re: Re: Re: Re: Туманные перспективы открытого железа
Похоже, забыл упомянуть самое главное: разумеется, это всё без участия браузера. Да и он здесь нафиг не нужен, лишнее звено
ответить
Re: Туманные перспективы открытого железа
Если под браузером понимается программа для просмотра гипертекста в формате HTML с картинками в формате jpg, svg, png и gif (и больше ничего), то у меня он особых возражений не вызывает.
ответить
Re: Re: Туманные перспективы открытого железа
Естественно, но ныне существующие варианты т. н. браузеров и их движков нагромождено до кучи, достаточно реализации какого-то безгуйного окошка для просмотра содержимого
ответить
Re: Re: Re: Туманные перспективы открытого железа
А, ну согласен, да.
ответить
Re: Re: Re: Туманные перспективы открытого железа
а Links2 на SVGAlib? В нём есть возможность картинок + подгрузка текста.
ответить
☞ From anonymous (unverified) Sun Aug 25 13:13:44 2024
Праздный вопрос о программе менторинга
Будет ли когда-нибудь раскрыта какая-нибудь информация о ходе менторинга?
Например, напишете ли Вы когда-нибудь новость на сайте примерного содержания: "С запуска менторинга прошло 5 лет. За это время к программе присоединились 30 человек, из них 10 дошли до конца и стали настоящими программистами" - вроде такого? Или любая подробная информация останется тайной между Вами и участниками программы?
ответить
Re: Праздный вопрос о программе менторинга
Пока мне нечего в таком духе "раскрывать", программе чуть больше полугода, все, кто сейчас в ней, ковыряются с Паскалем. О каких-то серьёзных результатах можно будет говорить самое раннее через два года, а статистически значимые результаты появятся именно что лет через пять, до этого ещё дожить надо.
Но вообще — какова ценность подобных заявлений? Довольно очевидно, что публикация персональных данных участников исключена полностью, так что проверить достоверность того, что я тут про себя наговорю, будет заведомо невозможно. И чего тогда, спрашивается, воздух сотрясать?
Разве что кто-то из участников сам решит опубликовать свои впечатления, но над этим я не властен и просить никого о чём-то таком не буду.
ответить
Re: Re: Праздный вопрос о программе менторинга
>Какова ценность подобных заявлений
Если говорить просто о сухой статистике по менторингу, то ценность ее сходна с ценностью статистики использования отдельными индивидами Вашей книжки вообще.
Вторая статистика собрана быть не может, пока трёхтомник ещё молод и не набрал достаточно известности; до выхода английской версии вполне возможно, что и вовсе не наберёт значительно больше, чем сейчас. Таков уж наш неприятный мир, ему курсы по питону более интересны - но и там бывает интересно увидеть, что из двухсот тысяч человек до конца доходят не более 10%.
А первая из статистик вполне может быть собрана через пять лет и будет довольно интересна, как мне кажется. Много ли дошло до конца, сколько в среднем уходит времени на первые два тома и на всю программу в целом - и все такое.
Несколько раньше, чем через 5 лет, Вы можете поделиться личными любого рода впечатлениями от менторинга без любой привязки к конкретным личностям или их группам - что угодно, наподобие: как скоро в среднем участникам впервые удаётся написать стоящую программу в пару тысяч строк, бывали ли у вас товарищи, которые покинули менторинг вследствие невозможности понять вложенные циклы, сколько народу выбрало в качестве первой системы *bsd, было ли написано кем-то из участников за все время программы что-нибудь дико интересное, какой опыт программирования у участников в среднем бывает до вступления в программу менторинга - и все такое.
Хотя я не уверен, что эти впечатления будут так же интересны, как статистика. Мне вот интересно - если что, простите за праздный интерес. Но, так или иначе, в этом случае -
>проверить достоверность будет заведомо невозможно
да и вообще не нужно, на то они и личные впечатления. Что-либо проверять требуется, когда читаешь некоторый рекламный текст, в котором описывается возможность некоего успеха. Но вроде бы из текста на странице менторинга совершенно понятно, что ничего подобного от менторинга ожидать не стоит.
Просто интересно когда-нибудь узнать, с какой степенью успеха Ваша замечательная книжка поменяла мир.
ответить
Re: Праздный вопрос о программе менторинга
Ну Ok, подумаю на эту тему. Сейчас-то в любом случае всё в пределах статпогрешности.
UPD: вообще вам может быть интересно узнать, что ДМК Пресс продавали трёхтомник отдельными томами, вот третьих томов было продано, если я всё правильно понял, раза в три меньше, чем первых, и здесь ещё стоит учесть, что много кто брал сразу все три "для комплекта".
ответить
Re: Праздный вопрос о программе менторинга
Ну, по версии дмк-пресс мне уже известна статистика :)
Найти второй том от ДМК Пресс все ещё можно и сейчас у всяких перекупов, хоть и втри-вчетыредорога. (Недавно можно было и третий, очень странно, что третий закончился у них сильно раньше.)
И это при тираже в 100 (!) экземпляров. И при том, что некоторое количество книг, продаваемых этими перекупными онлайн-магазинами, было изрядно попорчено - мне 2 и 3 том аж два раза перезаказывать приходилось. (Я год назад покупал - по 1700 за том.)
P.S.1: Кстати, вообще не понимаю, нафиг по одному тому покупать, если уж решился осваивать книжку. Сэкономить на случай, если второй том в читающего не полезет? Скромность, однако, хорошее качество.
P.S.2: Кстати, та странная лавочка, издающая Ваши книги нелегально, все ещё живёт и торгует ими - вот только что вылезло в поисковике, когда я полез проверять возможность покупки томов.
P.S.3: Хм, кстати, если немного подумать, некое подобие статистики я и сам у себя в голове могу представить. Мне на первые две части весь год с момента покупки и понадобился - с прошлого сентября до этого сентября. Только начал читать часть 3; да и то не сказать, что часть 2 по настоящему освоена - до объема в 2-3 тысяч строк полезной программы я не добрался, пока мелкие игрушки от 500 до 1000 строк тяжеловато даются.
Но мой пример не слишком репрезентативен: мне где-то три раза пришлось откладывать книгу, и каждый раз на промежуток в полтора-два месяца - уж очень моя офисная шестидневная работа любит поедать всё свободное время.
ответить
Re: Re: Праздный вопрос о программе менторинга
> И это при тираже в 100 (!) экземпляров.
На эту ерунду можете внимания не обращать. По 100 штук печаталось в один заход каждый раз, а всего было напечатано первых томов, как я понял, около полутора тысяч. То, что они при этом не меняли ни номер заказа, ни все остальные реквизиты, которые вообще-то положено менять — ну, это не ко мне, почему они так делали.
ответить
☞ From Irina (unverified) Fri Aug 23 19:07:53 2024
Программирование и AI
Здравствуйте, Андрей Викторович! Я, начинающая девушка-программист. Начала обучение по Вашим книгам. Очень приятно было узнать, что Ваша супруга программист - меня это очень мотивирует. Мне нужен Ваш совет - мои коллеги настаивают на том, чтобы я активно училась использовать AI Copilot и прочие инструменты, хотя бы для написания базовых функций или процедур, чтобы идти в ногу со временем и повышать свою эффективность. Я сопротивляюсь и хочу писать код без помощи этого инструмента, чтобы сначала во всем разобраться. Хотелось бы узнать Ваше мнение по этому поводу, так как многие компании пишут, что хотят перестать нанимать без этого навыка. Пользуетесь ли чем-то подобным Вы сами?
ответить
Re: Программирование и AI
> Я сопротивляюсь и хочу писать код без помощи этого инструмента, чтобы сначала во всем разобраться.
Правильно делаете.
> хотят перестать нанимать без этого навыка
Этот "навык" (при наличии умения программировать) осваивается за несколько дней от силы, да и вообще научиться плохому всегда успеете. Впрочем, вам эта ерунда в любом случае не потребуется, т.к. при нормальном развитии событий это не работодатели будут решать, кого им нанимать, а вы будете решать, к кому пойти работать, а к кому не пойти. Если же такого уровня вам достичь не удастся, то смысла оставаться в этой сфере деятельности нет никакого.
> Пользуетесь ли чем-то подобным Вы сами?
Я принципиально не занимаюсь ни веб-разработкой, ни созданием мобильных приложений, а за пределами этих двух областей (от которых настоятельно рекомендую держаться подальше, если не хотите сгноить собственные мозги) все эти нейросетевые примочки не работают.
ответить
Re: Re: Программирование и AI
Большое спасибо за ответ!
> Если же такого уровня вам достичь не удастся, то смысла оставаться в этой сфере деятельности нет никакого.
Андрей Викторович, поясните, пожалуйста, как оцениваются навыки программиста на том уровне, что Вы описали?
> все эти нейросетевые примочки не работают.
Дело в сложности написания таких программ?
ответить
Re: Re: Re: Программирование и AI
> как оцениваются навыки программиста на том уровне
Никак не оцениваются. Ваш вопрос не имеет смысла.
> Дело в сложности написания таких программ?
Скорее дело в том, что при написании серьёзных программ требуется контролировать происходящее, так что не всякому живому программисту можно доверить написание кода, а доверять его нейросетке, которая вообще непойми что делает, непойми как работает и непойми что генерит, при этом, разумеется, не то чтобы "не отвечает" за содеянное, а, больше того, к ней вообще невозможно применить термин "ответственность" (поскольку она не субъект) — в общем это нонсенс.
ответить
Re: Re: Re: Re: Программирование и AI
Добавлю еще, что все эти нейросетки обучены по большей части на говнокоде из гитхаба, которые генерят веб макаки. Отсюда можно сделать вывод о качестве ответов всех этих исскуственных идиотов
ответить
Re: Re: Re: Re: Re: Программирование и AI
Добавлю, что в ряде случаев нейросеть просто копирует куски кода из других проектов, что поднимает вопрос соблюдения условий лицензии на этот код.
ответить
Re: Программирование и AI
Я бы сказал, что скорее наоборот, генеративные нейросетки поднимают во всю морду вопрос, не пора ли уже списать на свалку оставшихся копирастов.
ответить
Re: Программирование и AI
В прошедшем учебном семестре довелось изрядно понаблюдать за тем, как несколько человек писали относительно немаленькие десктопные программы на C++ с помощью всевозможных Artificial Idiots (именно так надлежит расшифровывать AI). Впечатление тягостное. Объёмы кода вываливаются поистине гигантские, а сама программа по структуре напоминает не просто лапшу, каковую они выдавали и без AI, а разваренную слипшуюся лапшу. Разумеется, поддерживать это абсолютно невозможно, но вроде бы никто и не собирался.
Где-то на Хабре мелькала статья с результатами опросов, из которых следует, что спустя год использования AI-помощников программисты чаще наблюдают снижение своей продуктивности, чем повышение. Причина - за AI постоянно приходится допиливать, и нередко это дольше, чем написать то же самое руками.
ответить
Re: Программирование и AI
Я бы сказал, что использование AI здесь не уникально и не специфично, вот это вот "снижение вместо повышения" наблюдается каждый раз, когда кто-то изобретает очередной способ "избежать" написания когда, который должен быть написан. Бездумное применение библиотек для всего подряд — и внезапно оказывается, что на изучение самих библиотек тратится чуть ли не больше времени, чем ушло бы на код без их применения, плюс потом приключения, когда создатели библиотеки решают её "усовершенствовать", плюс совершенно гигантские затраты времени тех, кому приходится собирать проект, зависящий от нескольких десятков ожиревших либ, каждая из которых тоже собирается со своими приключениями. Использование языков супервысокого уровня — и постоянные приколы с абстракциями, которые почему-то ведут себя не так, как от них ожидалось, и вдобавок по-разному на разных системах.
Теперь вот AI.
Ей-богу, уже давно не смешно.
ответить
☞ From Ян (unverified) Wed Aug 21 17:55:43 2024
Создание UI на C
Андрей Викторович, в Ваших книгах есть примеры использования FLTK для создания графических пользовательских интерфейсов.
Я хотел бы создать оный на C. Какие библиотеки и инструменты Вы бы для этого порекомендовали?
Цель проекта - это максимальная портативность.
На данный момент рассматриваю GTK.
ответить
Re: Создание UI на C
GTK и переносимость? Ну-ну.
Лично мне вариантов известно два: либо писать на FLTK (но это C++), либо спускаться на уровень ниже и писать непосредственно на Xlib. Впрочем, на винду это тогда переноситься не будет, там придётся использовать WinAPI. В итоге у вас получится свой собственный слой абстракций, который займёт место готовых библиотек виджетов.
Если вопрос ставить так, что библиотека виджетов нужна внешняя (т.е. вы сами виджеты писать не готовы, что вполне понятно), чтобы она была на чистом Си и её реально можно было использовать — то я ни одной такой не видел и ни об одной такой не слышал.
ответить
Re: Re: Создание UI на C
https://github.com/Immediate-Mode-UI/Nuklear
Вот вроде хорошая, если конечно забыть что она на гитхабе
ответить
Re: Создание UI на C
Что-то гложут меня сомнения. Если авторам на результат своего труда настолько наплевать, что они для него не сделали хоть какой-нибудь сайтик, то вряд ли этот результат вообще достоин траты времени.
ответить
Re: Re: Создание UI на C
> что они для него не сделали хоть какой-нибудь сайтик
В последнее время наблюдаю, что разработчики, у которых были сайтики своих программ, их потихоньку сносят и уходят на gitHub+Sphinx. :^(
ответить
Re: Создание UI на C
Я это тоже наблюдаю. Полагаю, это следует рассматривать как проверку на вшивость.
ответить
Re: Re: Создание UI на C
Там сайтик есть, просто он на Github Pages
https://immediate-mode-ui.github.io/Nuklear/doc/index.html
ответить
Re: Создание UI на C
Не сказал бы, что это хоть что-то меняет.
ответить
Re: Re: Re: Создание UI на C
Едва ли это то, что хочет вопрошающий. Эта библиотека воплощает парадигму построения интерфейса, известную как Immediate mode. Если коротко, то раз в N времени дёргается функция перерисовки интерфейса, и именно в процессе этой перерисовки происходит реакция на действия пользователя, и одновременно с этим пересоздаются нужные элементы GUI.
Кроме того, Nuklear нуждается в рендерере, с которым всё уже не так просто. Это хорошо подходит для программ, интенсивно использующих графику, которые итак вынуждены постоянно перерисовывать содержимое окна, и в любом случае вынуждены использовать специальный рендерер, например, для игр. А вот для обычных десктопных приложений это ну ваще не то.
ответить
Re: Re: Re: Re: Создание UI на C
> раз в N времени дёргается функция перерисовки интерфейса
Мда.
ответить
Re: Re: Создание UI на C
Значит настало время изучить плюсы.
ответить
Re: Создание UI на C
Плюсы сами по себе не так страшны, как может показаться. Вот "современные" плюсы, т.е. то, что под термином "Си++" понимают нынешние ньюфаги — это да, страшно.
ответить
Re: Re: Создание UI на C
> писать непосредственно на Xlib
У меня некоторое время крутится в голове такая идея: спуститься ещё ниже и вручную формировать и парсить сообщения протокола X11 или сделать библиотеку, которая так делает, но не занимается вводом-выводом. Тогда программист может самостоятельно организовывать цикл обработки событий, как ему удобно.
Xlib делает ввод-вывод сама, и, более того, может заблокировать процесс.
ответить
Re: Re: Re: Создание UI на C
> Xlib делает ввод-вывод сама, и, более того, может заблокировать процесс.
Я не разбирался с этим на уровне Xlib, но даже с FLTK, которая, естественно, основана на Xlib, и, больше того, совершенно не рассчитана на то, что главный цикл будет не в ней — вот даже с ней вполне нормально получается вытащить дескриптор и работать с ним, организовав свой главный цикл. Из этого следует, что с Xlib тоже так можно. Как конкретно это делать — сейчас ковыряться не полезу.
UPD: не удержался (осторожно, тонны жабаскрипта от стековерфлоу)
ответить
Re: Re: Re: Re: Создание UI на C
Ну, это понятно, что библиотека должна уметь выдавать дескриптор: если бы такой возможности не было, то Xlib была бы совсем непригодной для использования. Но это не отменяет тот факт, что вызывать read/write она будет сама, если дёргать её функции. И, если какой-то запрос требует ответа от X-сервера, то Xlib не вернёт управление, пока не придёт ответ и она его не обработает.
ответить
Re: Re: Re: Re: Re: Создание UI на C
> И, если какой-то запрос требует ответа от X-сервера, то Xlib не вернёт управление, пока не придёт ответ и она его не обработает.
Это противоречит той информации, которая есть у меня, но я не уверен в достоверности её источников. В общем тот случай, когда нужна проверка.
Но вообще блокировка в ожидании ответа от X-сервера не так страшна, главное, чтобы это не была блокировка в ожидании действий пользователя.
ответить
Re: Создание UI на C
Raylib
ответить
Re: Re: Создание UI на C
По-моему вообще не имеет никакого отношения к исходному вопросу.
ответить
Re: Re: Re: Создание UI на C
Частично имеет, в этом проекте есть отдельная библиотека raygui. Но она тоже Immediate mode (было бы странно ждать от библиотеки для игр обычных статических окошек).
ответить
Re: Создание UI на C
Удалось нарыть две библиотеки, вроде бы удовлетворяющие требованиям: 1. smgui - почти новорожденная, и как будто состоящая из реакции на уже поминавшийся Nuklear; 2. IUP - неожиданный динозавр, она даже древнее FLTK, но жива и развивается по сию пору.
ответить
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
Установка Owl на флешку
Здравствуйте, Андрей Викторович! Помогите пожалуйста с установкой, не могу понять что я упускаю.
Нашел эту инструкцию, но она мне не помогает
https://openwall.info/wiki/Owl/USB_drive?s[]=usb
Попробовал сделать
(с другими образами прокатывало)
Но здесь так не работает. Образ я перенес, а вот загрузить его не получается (то есть grub сразу выбирает то, что поставлено на жесткий диск при попытке загрузиться с флешки).
В инструкции указано, что
Но мне не понятно, что это. При попытке это сделать в примонтированном образе мне говорят, что read-only.
ответить
Re: Установка Owl на флешку
Понятия не имею, в чём здесь проблема. Попробуйте написать на owl-users@, может его ещё кто-то читает.
Вообще, если совсем честно, Owl, похоже, всё-таки умер.
ответить
Re: Re: Установка Owl на флешку
В одном из комментариев вы говорили, что у вас на всех серверах стоит owl. Вы производили установку с флешки или с помощью диска?
ответить
Re: Установка Owl на флешку
С флешки, естественно. Но последний раз я это делал в 2016 году и подробностей не помню.
ответить
Re: Re: Установка Owl на флешку
Скорее всего просто флешка сдохла у товарища, вот и не грузится. На неё вроде пишешь через dd, а содержимое старое остаётся.
ответить
Re: Установка Owl на флешку
> Попробовал сделать
Да. Тут что-то не так. Первая строчка (создание файловой системы) бессмысленна, поскольку вторая строчка затирает этот диск образом.
Надеюсь, /dev/sdf это флешка?
У меня вторая команда отработает только от рута.
По идее она верная. После этого надо сделать перезагрузку, выйте в меню загрузки и выбрать загрузку с флешки.
Проверить целостность образа можно с помощью QEMU: qemu -boot d -cdrom owl.iso -m 4096
также можно проверить загрузку с флешки: qemu -hda /dev/sdc -boot c -usb -usbdevice disk:/dev/sdf
ответить
Re: Re: Установка Owl на флешку
Спасибо за полезные команды по проверке целостности и загрузке образа с флешки прямиком в qemu, я о них не знал. Что касается Owl-а (все версии x86-64) - вообще какая-то фантастика. Сделал gzip -d owl.iso.gz, получил образ. Образ записал, но он никуда не грузится (то есть как будто флешка не загрузочная и на ней нечему загружаться). Через boot menu специально прожал флешку - ноль эмоций. Что интересно - такая же история с openBSD. Так и не вкурил всех тонкостей наверное. Если операцию по записи через dd проводить на каком нибудь void linux (glibc/musl - не важно) - все запускается прям сразу. Евгений, скажите пожалуйста, вы ставили Owl? Внутри, то есть в самом образе, нужны какие-то приготовления перед записью? И может ли такое быть, что при успешной записи на флешку невозможность с нее загрузить образ - это просто несовместимость по железу?
ответить
Re: Re: Re: Установка Owl на флешку
> Внутри, то есть в самом образе, нужны какие-то приготовления перед записью?
Это я точно могу сказать — нет, не нужны.
ответить
Re: Re: Re: Установка Owl на флешку
> Образ записал, но он никуда не грузится
У меня нечто похожее случалось. Сколько помню, я проблему решил тем, что в команде dd уменьшил значение параметра bs.
ответить
Re: Установка Owl на флешку
> Что интересно - такая же история с openBSD.
Если вы пытались записать на флешку образ ISO с OpenBSD (install??.iso), то он для этого не предназначен. На флешку нужно записывать install??.img. Это всё подробно описано в OpenBSD FAQ - Installation Guide
Ну и, вообще говоря, сам формат ISO изначально не предусматривает запись его на флешку. Чтобы создать загрузочный образ для флешки, iso-образ нужно обработать, например, командой isohybrid. Как можно догадаться из названия, она создаёт гибридный образ, который уже будет грузиться и с CD/DVD, и с флешки. Большинство дистрибутивов линукса обычно предлагают скачать уже подготовленный гибридный образ. Привыкшие к этому линуксоиды часто попадаются на попытках записать обычный, не гибридный, образ ISO на флешку и недоумевают, почему с флешки ничего не грузится. Проверьте, возможно с Owl та же история.
ответить
Re: Re: Установка Owl на флешку
Уменьшил bs до двух, сделал гибридный образ - такая же история. Но есть и хорошие результаты по части записи. Теперь после отработанного dd мне больше не сыпят в терминал ошибками про чтение, запись и секторы. Все равно спасибо большое, не знал об isohybrid
ответить
Re: Re: Re: Установка Owl на флешку
> Уменьшил bs до двух
Я ставил bs=1M. Кстати, то же самое рекомендуется в мануале от опен бсд.
Вообще, я не делал особых попыток понять все причины, по которым создание загрузочной флешки командой dd может не дать желаемого результата, но вот подумал, что может ваша флешка автомом примонтируется куда-то сразу после ее вставки в порт юсб, и это тоже может играть роль? Что показывает команда lsblk -f сразу после подключение флешки?
ответить
Re: Re: Re: Re: Установка Owl на флешку
Что интересно - тестировал на двух машинах. На одной окошечная дрянь под названием elementary OS. Вот там да, автоматически примонтируется. Но я делал в первую очередь запись на своей основной тачке - под Devuan-ом. Там без моего ведома такие вещи не происходят и флешка никуда сама не примонтируется. lsblk -f выдает пустоту в столбце точек монтирования под девуаном
ответить
Re: Re: Re: Установка Owl на флешку
> Образ записал, но он никуда не грузится.
Образ через qemu проверяли? Должен грузиться. Затем нужно через qemu проверить записанную флешку, чтобы не перегружаться по десять раз. Если образ грузится, а флешка нет, то у меня вывод: надо образ записывать на cdrom. Или преобразовывать в гибрид, но я таким не занимался. Все системы, которые я ставил, умели грузиться с флешки.
ответить
Re: Re: Re: Re: Установка Owl на флешку
У меня созрел процедурный вопрос: вы понимаете, что такое пустая строка? Не перевод строки, а именно пустая строка? Мне уже надоело за вас эти строки вставлять в ваши комменты.
ответить
Re: Re: Re: Re: Установка Owl на флешку
Просто qemu запустить не получается, а вот qemu-system-x86_64 выдает следующую информацию:
ответить
☞ From anon (unverified) Tue Aug 20 10:03:11 2024
Преподавание
Здравствуйте, Андрей Викторович! У меня 3 года опыта коммерческой разработки и законченная магистратура. Сейчас поступаю в аспирантуру и мне предложили вести пары по плюсам в одной группе бакалавров. Профессиональных навыков, конечно, с головой хватает, чтобы рассказывать базовые вещи. Но хорошие студенты имеют свойство задавать хорошие вопросы, на которые ответа может не найтись, всё-таки 3 года это не очень много. По своему опыту знаю, что аспиранты часто на вопросы ответить не могут, в прочем хорошо рассказывать базу это им не мешало.
С высоты вашего опыта, как считаете, можно попробовать или лучше попозже?
ответить
Re: Преподавание
Лучше пораньше. Кроме шуток. Если вам студент задаёт вопрос, а вы не знаете ответа — нужно просто честно ответить "не знаю". У меня за 20+ лет преподавания с этим вот "не знаю" ни разу проблем не было. Зато я видел, как некоторые мои (к счастью, бывшие) коллеги готовы ужом извернуться, лишь бы не признать отсутствие всезнания. Студенты таких довольно быстро начинают искренне и незамутнённо презирать.
ответить
Re: Преподавание
А можно преподавать если сам вчера закончил специалитет?
ответить
Re: Re: Преподавание
Лекции читать нельзя (учёная степень требуется), но семинары вести можно. Ну, это если формально. А если неформально — то каждый решает сам.
ответить
Re: Re: Преподавание
А кто же тогда преподавать должен? Если вы предлагаете закончивших аспу, то где набрать столько людей?
У нас есть фильтрация со стороны лектора, кто попало, закончивший магистратуру/бакалавр, к преподаванию не допускается.
ответить
Re: Преподавание
В целом много где считается, что для преподавания нужно быть хотя бы аспирантом. Но формально это пофигу, кого кафедра назначила на конкретные семинары, тот их и ведёт. Формальное требование — только наличие высшего образования (кстати, не знаю, каков в этом плане статус бакалавров; спецы и магистры точно могут).
ответить
☞ From Anonymous (unverified) Mon Aug 19 08:32:11 2024
Насколько важна безопасность программ на C
Меня несколько беспокоит количество подводных камней при написании кода на C (хотя в других языках тоже есть, но чуть меньше). Если конкретно, то это например такие штуки:
1) var=malloc(n*sizeof(int));
Мне бы и в голову не пришло проверять на целочисленное переполнение перед вызовом malloc и лишняя обёртка из if понятности и читаемости коду не прибавляет.
2) Ошибки ±1 при выделении памяти и проходе циклов.
3) Undefined behavior
Пока что все мои программы на C работают у меня же на компе и данные я же им и скармливаю, поэтому самое худшее что может случиться — это если программа выдаст неверный результат, который я тут же и поправлю. А скорее вообще ничего не будет, я же тестирую при написании на своём же компе и миллиард элементов давать обычно не пробую.
Но что, если я начну писать серверный софт, те же CGI, а привычка не заморачиваться над теми же переполнениями целых останется?
ответить
Re: Насколько важна безопасность программ на C
> Мне бы и в голову не пришло проверять на целочисленное переполнение перед вызовом malloc
Никто и не проверяет. Нужно изначально писать так, чтобы в n никогда не возникло "неожиданно большое" число (и дело не в переполнении целых, речь ведь идёт о выделении памяти, тут можно denial of service огрести без всякого переполнения — на числах, на многие порядки мЕньших, чем нужно для переполнения); если даже это обеспечивается некими проверками, то это должно происходить задолго до malloc.
> 2) Ошибки ±1 при выделении памяти и проходе циклов.
А вот тут придётся быть внимательным, других вариантов нет.
> 3) Undefined behavior
Понятие UB введено "стандартами". Это всё, что о нём следует знать.
> те же CGI
CGI не так критичны (хотя, конечно, критичны, поскольку обрабатывают данные, пришедшие извне; но первым бастионом на пути атакующего оказывается HTTP-сервер). А вот, например, программы, слушающие открытые порты — это да.
> привычка не заморачиваться
"Привычки не заморачиваться" при работе на Си быть не должно. Иной вопрос, что применять нужно здравый смысл и понимание, что на самом деле может произойти, а не всякую ерунду, написанную людьми, которые сами ни черта не понимают.
ответить
Re: Re: Насколько важна безопасность программ на C
> можно denial of service огрести без всякого переполнения
Ну DoS такого плана как правило не критичен. Если данных так много то их вообще не получится обработать в любом случае, разве что свопить. Проблема в записи в память другой переменной и возможное переполнение стека.
> "Привычки не заморачиваться" при работе на Си быть не должно. Иной вопрос, что применять нужно здравый смысл и понимание, что на самом деле может произойти, а не всякую ерунду, написанную людьми, которые сами ни черта не понимают.
Так в этом и проблема. Просто написать программу на C я могу, а вот сделать её ещё и безопасной — вот с этим сложности. Так что, вообще не пытаться писать сетевые программы?
Слишком много тонкостей и кроме тех трёх пунктов, а каждый из пунктов ещё на несколько разбивается. Мне кажется почти нереальным предусмотреть всё, что может пойти не так, если программа обрабатывает входные данные, которым нельзя доверять.
ответить
Re: Re: Re: Насколько важна безопасность программ на C
> Ну DoS такого плана как правило не критичен.
А что критично, простите? Ну, наверное, remote root на вашей домашней машине критичен, но вы же не собираетесь на ней гонять серверный процесс, видимый из интернета и имеющий root'овые полномочия?
> Проблема в записи в память другой переменной и возможное переполнение стека
От вашей фразы ощущение такое, что вы её повторяете за кем-то, не имея понимания, о чём в действительности идёт речь, и не факт, что такое понимание было у того, за кем вы повторяете. Да, промахиваться мимо собственных массивов не надо. И что? При чём тут целочисленное переполнение при вычислении аргумента для malloc?
> Мне кажется почти нереальным предусмотреть всё
Для начала вам, по-видимому, стоит отбросить тот источник, которым вы сейчас пользуетесь. Реальность такова, что если там не нашли ничего лучшего, нежели настаивать на проверке целочисленного переполнения при вычислении аргумента malloc, значит на самом деле авторы текста в безопасности понимают примерно столько же, сколько я в женской парфюмерии (т.е. почти ничего).
> вообще не пытаться писать сетевые программы?
Не пытаясь, вы ничему не научитесь. Так что пишите, и как можно больше.
Вообще чего вы, собственно, боитесь? Программа, пусть даже слушающая порт, но при этом работающая под изолированным пользователем, мало чем вам грозит, даже если её сломают. Да даже если вы возьмёте себе VPS и её кто-то проломит, ну нажмёте в веб-интерфейсе вашего хостера кнопочку reinstall. А свой собственный рабочий компьютер (на котором вполне может даже и есть чем поживиться взломщику) вы вряд ли станете выставлять в интернет открытыми портами, не?
К тому времени, когда доберётесь до написания критически важных программ, опыт у вас будет уже качественно иного уровня.
ответить
Re: Re: Re: Re: Насколько важна безопасность программ на C
Речь о том, что в куче (то есть выделенной ОС динамической памяти, управляемой libc) за участком памяти, куда должны записываться данные со входа может оказаться какой-нибудь участок памяти, содержащий что-нибудь, позволяющее влиять на поведение программы.
Суть не конкретно в переполнении в malloc, а вообще в выделении меньшего количества памяти чем нужно из-за неучтенных факторов. Просто слишком много таких моментов и у меня ощущение, что код вырастет раза в два и станет малочитаемым если добавить все нужные проверки.
ответить
Re: Насколько важна безопасность программ на C
> а вообще в выделении меньшего количества памяти чем нужно из-за неучтенных факторов
Размер выделения памяти тут ни при чём. "При чём" тут ровно одно: надо помнить, какого размера кусок памяти был выделен, и проверять, что за этот размер пока не вышли. Вот это делать совершенно необходимо, и от этого вы никуда не денетесь. Вообще. Этот паровоз ездит только так.
Подчёркиваю жирно и тремя чертами: размер массива, задаваемый изначально, никакого отношения к этой проблеме не имеет. Если у вас нет стопроцентного априорного знания, какого размера будет массив, то вы в любом случае никуда не денетесь от того, чтобы написать в каком-то месте программы изменение его размера (выделить новый, скопировать данные из старого, грохнуть старый, присвоить указателю адрес нового). Настоятельно рекомендую realloc не использовать (даже если знаете о его сущестовании), пока не научитесь писать без него и не почувствуете полную уверенность в происходящем (до такой степени, чтобы нужный код стекал с пальцев без напряжения головного мозга). И осознайте один тривиальный момент: наличие в программе этого куска кода неизбежно. Ну вот неизбежно. Начальный размер не может быть выбран так, чтобы этого куска кода вообще не было, а если он всё равно есть — то пофигу, какой там начальный размер.
> Просто слишком много таких моментов
"Таких моментов" ровно столько, сколько у вас динамически выделяемых массивов. Не больше и не меньше. Их не слишком много и не слишком мало, их ровно столько.
Можете, если угодно, использовать списки, с ними этой проблемы нет. Впрочем, проблемы тут в любом случае нет, есть только ваша стадия отрицания. Это пройдёт.
Ах, да, чуть не забыл: никакого отношения к безопасности это всё не имеет вообще.
ответить
Re: Re: Насколько важна безопасность программ на C
> выделить новый, скопировать данные из старого, грохнуть старый, присвоить указателю адрес нового
Хотел написать, что последние два пункта должны быть в обратном порядке, осознал что тогда указатель на старый массив будет утерян. Но если именно в таком порядке и код многопоточный, то другой поток может записать что-то по старому адресу, когда он уже уничтожен.
> "Таких моментов" ровно столько, сколько у вас динамически выделяемых массивов.
Я недостаточно конкретно выразился. Я имел ввиду вообще тонкости, когда в программе может произойти что-то неожиданное для программиста, когда надо что-то проверить прежде чем делать что-то ещё, и хорошо ещё если это можно исправить правкой кода. А есть ещё связанные с компилятором приколы, например код который обнуляет участок памяти, где хранился ключ шифрования заоптимизирован вникуда.
ответить
Re: Re: Re: Насколько важна безопасность программ на C
> если именно в таком порядке и код многопоточный
Если код многопоточный, его автора нужно подвергнуть эвтаназии. И если вы с этим не согласны, то мне вообще непонятно, что вы забыли на моём сайте.
> Я имел ввиду вообще тонкости
Исходя из того, что у вас уже вылезла многопоточность, при том что программировать вы вроде бы не умеете, я уже практически уверен, что вы зачем-то взяли текст одного из тех моральных уродов, которые считают своим долгом показать всему миру собственную (недостижимую для остальных) крутость, и зачем-то в этот текст поверили.
В принципе дело ваше, только какого чёрта вы здесь тогда делаете? Вы что, начали с Си? Я утверждаю, что этого делать нельзя, вы вправе не соглашаться, но, опять-таки, какого чёрта вы тогда здесь? Идите дальше жрите всякое говно, которого в достатке успели наплодить всевозможные ньюфаги.
ответить
Re: Re: Re: Re: Насколько важна безопасность программ на C
Нет, с C я не начинал и что такое побочные эффекты я понимаю, более или менее.
ответить
Re: Насколько важна безопасность программ на C
Ну, я за вас рад. Но прибавить к уже сказанному мне нечего.
ответить
Re: Насколько важна безопасность программ на C
С такой мыслью к тестированию лучше не приступать. ;)
А может n оказаться отрицательным или получиться из отрицательного числа, если n само unsigned?
ответить
Re: Насколько важна безопасность программ на C
Смотря что это за "n". Обычно можно прикинуть в уме, какие значения может принимать та или инная переменная. Если эту "n" вводит пользователь, то там само собой разумеется поставить какое-то ограничение (типо, если n больше 100, то принять её равной 100, и написать в поток для ошибок, что значение слишком большое, поэтому принято за 100). А если эта "n" внутри программы, то переполнения скорее всего может быть только при операциях вычиталния из unsigned int. Это легко отследить, по принципу "вычитается из unsigned - значит есть вероятность переполнения". На счёт стека, на форумах пишут что ошибка "переполнения стека" есть практически в любом языке высокого уровня, даже на Java Script. Так что это не какая-то особенность СИ, наверное.
ответить
Re: Re: Насколько важна безопасность программ на C
Переполнение стека само по себе ничем не страшно, программа просто падает. Обычно новичков всякие самозваные гуру пугают переполнением стековых буферов, это совершенно иное — если его допустить, можно создать эксплойтабельную дыру (за счёт затирания адреса возврата из подпрограммы). Вот только (а) безалаберность в программировании недопустима на любом языке, отнюдь не только на Си, и (б) всякие эти "пугатели", как правило, сами не вполне понимают, о чём говорят.
ответить
☞ From Proger
Sun Aug 18 14:13:42 2024
Web похоронить, web похоронить...
Слушайте, а если говорить не о принципиально новой модели сети, а о клиент-серверной, то зачем изобретать gemini, spartan и т.п.?
Можно же просто использовать telnet BBS. Софт написан миллион лет назад, проверен, работает. Из клиентского софта нужен лишь простой как барабан telnet-клиент. Визуально оформлено может быть как угодно (в контексте терминала, даже с ANSI графикой). Client side скриптов нет и быть не может, серверная программа может быть любой сложности.
ответить
Re: Web похоронить, web похоронить...
Ну, веб-то, конечно, этой штукой не закопать, она про другое. Фишка веба в ссылках и возможности прыгать с сервера на сервер без вот этой вот всей процедуры входа, регистрации, ответов на вопросы и прочего.
Но вообще интересно. Закопать веб — задача важная, но не единственная. Я правильно понимаю, что серверные реализации там сочетают в себе, кроме самой этой BBS'ки (т.е. фактически системы текстовых менюшек, отдаваемой через telnet) ещё и ftp/gopher/smtp/pop3/imap?
Вообще век живи, век RTFM. Пошёл дальше ковыряться.
ответить
Re: Re: Web похоронить, web похоронить...
> Фишка веба в ссылках и возможности прыгать с сервера на сервер без вот этой вот всей процедуры входа, регистрации, ответов на вопросы и прочего.
Резонно, но если договориться о формате ссылок на другие BBS, то проблема решаемая.
> Я правильно понимаю, что серверные реализации там сочетают в себе, кроме самой этой BBS'ки (т.е. фактически системы текстовых менюшек, отдаваемой через telnet) ещё и ftp/gopher/smtp/pop3/imap?
На тех, куда я заходил, этого не было. Регистрация прям там, забыл пароль -- твои проблемы. Но я не вижу проблем в теории дернуть sendmail и отправить почту, равно как и не вижу проблему поддерживать FTP.
Можно ещё подумать в сторону ssh. Через него и файлы передавать можно, и безопасность есть -- хоть банк обслуживай, и все проблемы с шифрованием вынесены в отдельный комплект программ, от которого нужен конкретный интерфейс, а реализация может быть любой (совместимой).
ответить
Re: Web похоронить, web похоронить...
Видимо, это мне так повезло, я на какую-то BBSку зашёл наугад, вот там был весь букет. Но это, наверное, местный сисоп расстарался.
Тут дело не в том, что "можно сделать", а в том, что мне почудилось готовое решение проблемы, на которую я зубы точу уже лет десять. В гипотетически решённом виде проблема выглядит так: берём VPS, накатываем на неё некую софтину (ровно одну, и без внешних зависимостей, т.е. очевидно написанную на C, в крайнем случае C++, и со всеми библиотеками уже в архиве, возможность статической сборки обязательна, интерпретируемые языки не предлагать), прописываем несколько наиболее важных параметров (в идеале — доменное имя, и всё), после чего зовём всех друзей пользоваться новым узлом. К учётной записи на узле прилагаются по меньшей мере почта и файлопомойка, в идеале ещё и XMPP, и что-нибудь вроде блога.
Ключевое слово тут — одна софтина и минимум конфигурения. Я прекрасно знаю, что всего этого можно добиться существующим софтом, даже знаю как, но много-много кусочков, каждый с толпой зависимостей и для каждого простыни конфигов — это не то решение, которое мне интересно. Сисадмином я последний раз работал четверть века назад, но что такое "трудозатраты на администрирование", прекрасно знаю, а ещё знаю, сколько усилий я готов потратить бесплатно, а сколько не готов.
Что касается "формата ссылок", то это вообще не о том. Веб бы тоже не существовал в нынешнем виде, если бы на каждый сайт нужно было логиниться и отвечать на вопросы, прежде чем добраться до содержимого. Конечно, если задаться целью, видимо, возможно чего-то похожего на нашу цель добиться с использованием протокола telnet, но ни существующие клиенты, ни, насколько я вижу, существующий софт для telnet BBS для этого не подходят, софт придётся писать новый, и я не вижу, почему для этого нужно использовать именно telnet.
UPD: сожалею, но продолжать эту беседу я с вами не буду, это абсолютно пустая трата времени. Ощущение такое, что вы не понимаете, о чём идёт речь. Поскольку с вами это уже второй случай, настоятельно рекомендую вам найти какой-нибудь другой сайт для развлечений.
ответить
Re: Re: Web похоронить, web похоронить...
Что-то похожее есть в fossil, правда не для общения, но там один бинарник который даёт сразу и систему контроля версий и веб-сайт для программы, включая вики и тд.
ответить
Re: Web похоронить, web похоронить...
Какой попало комбайн мне не нужен, мне нужен вполне конкретный.
ответить
Re: Re: Web похоронить, web похоронить...
Для виндовых реализаций это типично.
ответить
Re: Web похоронить, web похоронить...
Виндовые мне не интересны за неимением винды, а даже если бы она у меня и была, я бы уж точно не стал её выставлять
голым задомоткрытыми портами в интернет. Но там вроде бы есть реализации переносимые, вот они это своё свойство утрачивают при переносе на *nix или как?ответить
☞ From Vadim (unverified) Sun Aug 18 10:30:03 2024
Ступор
Здравствуйте, Андрей Викторович. Возможно, что Вы этот бред не пропустите, но я всё таки попытаюсь описать проблему с которой я столкнулся.
Я прочитал весь ваш трехтомник. Я понимаю C (хотя я и не знаю своего уровня этого понимания, если честно), могу даже прочесть и понять код чужой, если он не слишком сложен. Но есть одна проблема - я не могу написать свой код. У меня есть идея, есть цель, есть даже какая-то логика в голове и на бумаге, и в голове всё укладывается словно пазл. Но когда я сажусь за само программирование - у меня ступор, я просто сижу и пялюсь в экран, как баран на новые ворота. Любые мои попытки написать код сопровождается очень сильной самокритикой, что я просто всё удаляю и ухожу в свои размышления снова. У меня получалось что-то выцедить иногда, оно даже работало, но это было не то, что я хотел.
Неужели мне просто не стоит вообще заниматься этим? Но мне и правда очень хочется этим заниматься, просто в голове, судя по всему, бардак. И как мне с этим вообще справиться? Пишу потому что хочу найти совет. Мне хочется услышать мнение со стороны, ибо рядом людей, которые в этом разбираются, нет, да и к вашему совету будет доверия больше, чем от других, если честно.
ответить
Re: Ступор
У меня встречный вопрос: с Паскалем и ассемблером было то же самое? Если да, то о каком вообще Си может идти речь?
Ну то есть если вы
(а) "читали" мой трёхтомник (хотя его надо не "читать", а учиться программировать с его помощью; просто читать бессмысленно);
(б) сами явным образом признаёте, что у вас не получается писать программы; и
(в) при этом пытаетесь писать на Си,
то какого совета вы от меня ждёте? И почему именно от меня? В книгах вполне ясно написано, как работает моя методика обучения, и она полностью исключает такую ситуацию, которая сложилась у вас. Проблемы подобного рода могут (при обучении по моей методике) возникать только при попытках программировать на Паскале, и там же — с помощью Паскаля — они должны быть ликвидированы, т.е. научиться программировать нужно именно на примере Паскаля, потом нужно набрать определённый опыт работы на языке ассемблера, и только после этого, и не раньше, допустимо хвататься за Си.
Если же вас моя методика не устраивает, то чего вы от меня ожидаете? Нет, начинать программировать с языка Си нельзя, никак, никому, никогда, исключения не допускаются. Вы имеете полное право не соглашаться, но тогда стоит, наверное, найти более подходящие учебники и уж точно более подходящего "советчика".
ответить
Re: Re: Ступор
Возможно я и правда страдаю ерундой. Видимо, придется полностью пересмотреть весь свой опыт. К методике вашей у меня нет никаких претензий, меня всё устраивает. Спасибо за ответ.
ответить
Re: Ступор
А "опыт" вообще есть? В смысле, есть что пересматривать?
По-моему, тут всё намного проще: нужно вернуться к части о Паскале, придумать себе задачу и на Паскале её сделать. Если ничего не придумывается, в крайнем случае задачник есть.
ответить
Re: Re: Ступор
А если прошел через паскаль и ассемблер, но давно, например когда только первое издание вышло, потом забросил, то при повторном заходе имеет смысл снова к паскалю возвращаться, если указатели в своё время особой проблемы не вызвали, но на ассемблере писал не для x86, а для i8080?
ответить
Re: Re: Re: Ступор
> если указатели в своё время особой проблемы не вызвали
Указатели — не единственная проблема, решаемая начальным обучением именно на Паскале. Кроме них, есть ещё проблема восприятия побочных эффектов, и я бы даже сказал, что она важнее. Через указатели человек так или иначе проломится, если мотивации хватит, а вот сишность головного мозга (состоящая как раз преимущественно в том, что человек не видит ничего плохого в побочных эффектах к месту и не к месту) — ну, она не лечится.
Возвращаться к Паскалю или нет — зависит от опыта, который вы там успели набрать. Если вы на Паскале написали программу, у которой сейчас есть сторонние пользователи, причём они её используют, потому что она им полезна, а не потому что вы их слёзно умоляли — то цель заведомо достигнута. Вот только мой опыт показывает, что так бывает крайне редко.
Можно более-менее согласиться, что паскалевского опыта скорее всего уже достаточно, если общий объём написанных программ перевалил за 5000 строк, причём хотя бы одна из них была не меньше чем на 2000 строк (одна). Вообще, конечно, это всё условно.
> на ассемблере писал не для x86, а для i8080?
А вот это как раз пофигу, тут главное поймать вот это вот ощущение, как работать на уровне процессорных команд, когда в вашем распоряжении только память и регистры. То есть для получения нужного опыта ассемблер сойдёт любой.
Единственный момент — есть такая штука "системный вызов", вот опыт исполнения таковых вручную, без сишных обёрток, весьма способствует потом пониманию сущности операционной системы. Но в принципе без этого можно и обойтись.
ответить
Re: Ступор
Ничего, с практикой и временем все придет, главное желание. Эх, мне бы ваши проблемы, я вот уже который месяц Хаскель грокнуть не могу, при том что на изучение других языков, включая (C++, лисп, ассемблер), уходило не больше месяца на каждый, без всяких преподавателей. В частности, мне так никто не смог объяснить, что такое монады и зачем они нужны. Из того что я о них прочитал в интернете, они мне скорее напоминают бред человека, который наелся мухоморов и ему вруг пришло божественное откровение, которое он пытается объяснить (сам мухоморы ел, словами этот опыт и правда передать нельзя).
И самое противное, я даже незнаю какие программы мне писать для практики на Хаскелле. Я прекрасно понимаю, где в отдельных частях императивной программы удобно задействовать функциональную парадигму, но вот какие могут быть use cases где вся программа написана на чисто функциональном языке, кроме разве что парсера? Все задачи из реального мира (т.е. без всяких "докажи теорему" и прочее) которые мне приходят в голову, отлично решаются в императивной + ООП парадигме. Я конечно видел примеры, как кто то мессенджер на Хаскелле делал, но такое я писать не хочу из принципа, оно противоречит философии языка, для таких вещей есть Си.
ответить
Хаскель
Возможно, вас утешит такой момент, что для меня Хаскель стал первым и пока что единственным языком, который я не осилил. Были такие, которые я не смог изучить, поскольку не смог преодолеть отвращение; первым таким когда-то давно стал Перл, потом было много чего ещё. Но Хаскель вроде отвращения не вызвал. Значит, я его именно что не осилил, а не что-то другое.
Надо сказать, что моя жена пишет на Хаскеле за деньги, и она утверждает, что более-менее поняла, что происходит, через два года после начала профессиональной работы. И что там все более-менее за этот срок проходят путь от программирования наощупь до более-менее осознанных действий.
Что касается вопроса, что такое монада, то, насколько я могу судить, всех начинающих хаскелистов (поголовно) беспокоит ровно тот же вопрос. А тех, кто уже не начинающий, беспокоит вопрос, как же, блин, ёжкин кот, массаракш, объяснять это начинающим. И это положение существует с тех времён, когда Хаскель только придумали.
Подозреваю, что способа объяснения монад не существует.
ответить
Re: Re: Ступор
Задачи из реального мира также вполне неплохо решаются на Хаскеле. Да, в реальных проектах будет не 100% чистых функций, а 50, 30 или даже меньше, но в любом количестве они, как мне кажется, существенно облегчают понимание программ - я смотрю на чистую функцию и понимаю, что подвоха точно нет - результат зависит только от входных аргументов. Однако даже для всего остального кода, написанного в монадах и больше похожего на императивный за счет синтаксического сахара, именуемого do-нотацией, есть приемы, позволяющие в типе функции указать, какие побочные эффекты возможны, а какие нет. Условно, одна функция может только читать файлы, причем не все, только какие-то определенные, другая может только делать сетевые вызовы на определенный хост, третья использует первые две, поэтому в ее типе должно быть указано и то и другое. К тому же, приемы, характерные для чисто функционального стиля (map, filter, foldr и т.д.) отлично переносятся и на монадный код.
По поводу
> use cases где вся программа написана на чисто функциональном языке
первое, что приходит в голову - различные компиляторы/кодогенераторы.
ответить
☞ From Ilya
Sun Aug 18 07:41:54 2024
Протокол Spartan
Наткнулся тут на протокол Spartan, это буквально Gemini, только проще (хотя казалось бы, куда уж проще). В частности, из спецификации убрано требование иметь TLS и UTF-8 и добавлена возможность file upload со стороны клиента, а еще кол-во статус кодов сократили до 4 штук. Подробнее можно ознакомится здесь. Осталось написать простенький сервер с поддержкой подобия CGI, портировать под него Талассу и веб можно закапывать :)
ответить
Re: Протокол Spartan
Reference implementation ожидаемо на питоне, про другие реализации сведений не приводится.
А почему "подобие CGI"? Вполне можно сделать CGI как CGI, чтобы ничего не надо было никуда портировать. Генерить gemtext дело нехитрое, Талассу на это можно заточить правкой конфигов, ей в целом пофигу, что генерить, лишь бы текст.
ответить
Re: Re: Протокол Spartan
Других реализаций полно, даже небольшой список сайтов есть.
> Талассу на это можно заточить правкой конфигов
Плохо знаю что там под капотом, но мне казалось thalcgi выплевывает в stdout голый html при генерации комментов, как и все другие цмски, а какие там тогда конфиги надо править?
ответить
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 только формочки выдаёт и обрабатывает. В этом плане Таласса резко отличается от "всех других цмсок".
ответить
Re: Re: Протокол Spartan
Теперь понял, до меня только сейчас доперло зачем все эти макросы нужны, из доков как то не уловил, правда посмотрев на thalcgi.ini из темплэйта, осознал что на мою затею времени уйдет много. Скажите, а можно еще что бы оно наоборот из, например, Markdown в html генерило? Или придется юзать внешние конвертеры? На голом html блог писать не хочется.
ответить
Re: Протокол Spartan
Ну, Markdown точно не будет, я думал на тему чего-нибудь попроще вроде bbcode.
Сейчас для блога наиболее адекватный формат — texbreaks, собственно тот, что тут вот в комментах применяется; оно при этом пустые строки рассматривает как разделитель абзацев. Если фильтр тегов не включать, то HTML-теги будут работать любые (естественно, это только если такой текст может закинуть только владелец сайта; для сторонних пользователей разрешать произвольный HTML нельзя).
ответить
☞ From Ян (unverified) Sat Aug 17 08:33:26 2024
RUST как замена C
Здравствуйте, Андрей Викторович! Спасибо за прекрасные книги. С удовольствием их иногда перечитываю.
Есть такой вопрос. В мире уже много шума наделал язык RUST, я немного на нём пробовал писать, но сравнить это можно как жизнь с женой у тёщи, где много правил и ограничений. В принципе, это и есть смысл РАСТ - оберегать от ошибок путём проверки на этапе компиляции не нарушены ли, к примеру, правила владения и заимствования. Что Вы думаете о RUST?
ответить
Re: RUST как замена C
> как жизнь с женой у тёщи
Я бы предложил более сильное сравнение: Rust — это как тоталитарная секта. Впрочем, без всяких "как": Rust — это тоталитарная секта, деструктивная, опасная для окружающих, и, как и в любую секту, туда крайне редко попадают нормальные люди. А когда попадают — перестают быть нормальными.
ответить
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/".
ответить
Спасибо
Там всё даже хуже, чем я думал. Увидишь издали растера — перейди на другую сторону улицы.
ответить
Re: Re: RUST как замена C
То есть, проблемы у него с инфраструктурой, экосистемой и самими кодерами? А что насчёт самого языка, в отрыве от перечисленного, годится он на что-то? Если, допустим, кто-то решит откреститься от предлагаемых "удобств", и при этом готов использовать llvm либо дождаться компилятора от GNU.
ответить
Re: RUST как замена C
Сам по себе язык тоже никуда не годится. Ну то есть даже одно то, что там (несмотря на то, что язык императивный) все операторы вплоть до циклов превратили в выражения — лично мне одного этого достаточно для утверждения, что ни о каком использовании такого языка не может быть никакой речи: в этом языке сишность головного мозга может (и будет) проявляться сильнее, чем в самом Си. При этом сей недостаток, разумеется, не то что не главный, а даже вообще скорее теряется на фоне всего остального.
Ну а главное, пожалуй, в том, что нет и не может быть такой вещи как "безопасный (в смысле safe) язык". Safety может быть только у программиста в голове, больше нигде. Попытки построить язык, который якобы прощает программисту все проявления его безалаберности (вот это вот "можно не бояться, компилятор всё поймает"), ведут лишь к выводу этой безалаберности на невиданные доселе высоты.
Как совершенно правильно заметил когда-то давно один из моих студентов, этот язык сделан для лиц с обсессивно-компульсивным расстройством. Но тут ведь всё на самом деле просто: если боишься (!) работать с указателями — или тренируйся и набирай опыт, чтобы больше не бояться, или не программируй вообще.
А превращение любителей столь специфического языка в откровенную секту — это просто следствие, и следствие неизбежное. В этом монастыре невозможно и никогда не будет возможно жить по другому уставу, так не бывает, и компилятор от GNU ничем не поможет.
Не думаю, кстати, что появится альтернативная реализация, а если она и появится, вряд ли её станут использовать. В одной секте не может быть двух центров.
ответить
Re: Re: RUST как замена C
Значит моё первое впечатление подтвердилось. В топку его. Улыбаемся и пишем на Си.
ответить
☞ From Макака (unverified) Fri Aug 16 19:06:57 2024
JS в качестве (!) скриптового языка
Вновь приветствую горячо любимого автора данного интернет-ресурса и его неслучайных посетителей.
После ознакомления с разделом учебника о скриптовых языках хотелось бы поинтересоваться у автора, как он относится к языку JavaScript в отрыве от попыток последнего в языки общего назначения, в контексте использования оного сугубо как языка для вспомогательного, так сказать, скриптинга и облегчения жизни
мартышкиглубого заинтересованного в качестве своего труда разработчика.Лично я никогда не использовал Tcl, из скриптовых языков для опробования чего-либо или небольшого исследования использовал bash либо, если задача казалась чуть сложнее, JS (конечно же без ООП набалдажников и без последующего знакомства этих творений с конечными пользователями). К питону чувствуется отвращение, Perl кажется перемудренным, Lua - неуместным.
Возможно, у вас есть своё мнение насчёт скриптовых языков, которое вы сформировали в ходе профессиональной деятельности, и свой любимый скриптовый язык либо представления о нем, которым(и) вы бы хотели поделиться с миром.
Надеюсь, вы не станете выгонять меня с сайта ссаными тряпками за тему этого разговора. Просто интересен опыт человека, на тридцать голов выше моего.
Желаю успехов на чужбине.
ответить
Re: JS в качестве (!) скриптового языка
коммент 2016 года на эту тему
Впрочем, с тех пор много чего произошло и много воды утекло, и сейчас я могу сказать и проще: слушайте, ну какого хера в скриптовом языке делают все эти потуги в сторону ООП? Оно, конечно, до реального ООП не дотягивает, но потуги-то есть. Между тем, скрипты должны быть маааааааленькими, если программа вымахала больше чем на 200 строк — это уже не скрипт, а программист, продолжающий её писать на скриптовом языке, делает что-то не то. Ну а вся прелесть ООП, и даже не то чтобы прелесть, а просто осмысленность, начинает проявляться где-то после 2000 строк. Т.е. "невязка" у нас тут примерно на порядок.
В общем хрень этот ваш js.
ответить
Re: Re: JS в качестве (!) скриптового языка
В общем хрень этот ваш js
Коммьюнити для него ещё и либы весёлые клепает.
ответить
Re: JS в качестве (!) скриптового языка
Ну, это, подозреваю, всё-таки стёб.
Но вообще для скриптового языка вообще не должно быть никаких библиотек, и тем более библиотечной экосистемы. Если для написания программы потребовалась библиотека, эта программа никакой не скрипт.
ответить
☞ From бормотрон коробкин (unverified) Fri Aug 16 18:42:56 2024
нейросети
Считаю, что то, что нельзя остановить, необходимо возглавить. есть огромный класс задач, которые только нейросетями и решаются. это например задачи связанные с человеческим мышлением и психологией. и рано или поздно нейросети будут применены для этого. и не только для этого, для кучи задач, что лежат за пределами возможностей отдельного человека. если мы хотим, чтобы эти технологии работали на благо каждого человека, а не лишь отдельных представителей и подгрупп, то должны перехватить инициативу, предвидеть технические проблемы масштабирования этих технологий и возглавить их решение под нашим контролем, сознательно смещая выбор решений в пользу соответствующих нашим целям.
ответить
Re: нейросети
Чувак, ты не на комсомольском собрании.
Внезапный ренессанс нейросетей обусловлен исключительно тем, что в распоряжении отдельных акторов появилось, как бы это сказать, вот в английском есть такое слово enormous — так вот в распоряжении отдельных акторов появилось enormous количество вычислительной мощности. Обучение нейросетей не представляет собой ничего интеллектоёмкого, это просто грубая сила.
И этой силы нет и никогда не будет в распоряжении индивидов. Все свободны.
ответить
Re: Re: нейросети
есть просто куча распределенных мощностей которые сейчас тратятся на майнинг и гейминг. причем в майнинге проводимые вычисления заведомо бессмысленны. почему бы не построить распределенное обучение нейросети, выдавай за вклад в вычислительную работу монетки? которые потом можно или использовать для обучения на распределенной сети какого-то своего проекта, или продать. так и назвать - ваучер-коин.
ответить
Re: нейросети
Настоятельно рекомендую вам разобраться, что в действительности представляет собой майнинг и какова его роль в функционировании криптовалют. На всякий случай: никакого отношения к добыче койнов майнинг не имеет, это просто забитый ржавыми гвоздями в протоколы дополнительный эффект, чтобы сделать эмиссию распределённой. Но собственно задача, решаемая майнингом, не имеет никакого отношения к появлению новых койнов.
Несомненно, трата электричества на майнинг совершенно бессмысленна, но следует из этого ровно одно: криптовалюты полная туфта. Применить майнинг для чего-то полезного невозможно, и если понимать, зачем майнинг нужен на самом деле, это окажется совершенно очевидно.
Это если говорить о технике. Но есть и организационная сторона вопроса: заставить миллион индивидов подарить вам их вычислительные мощности, наверное, как-то возможно, но созданная для этого организационная структура сама станет корпорацией. Даже не то чтобы "станет", она просто таковой с самого начала будет, и будет увеличиваться в размерах одновременно с ростом числа вовлечённых.
ответить
Re: Re: нейросети
> Обучение нейросетей не представляет собой ничего интеллектоёмкого, это просто грубая сила.
Позволю себе сказать, что далеко не всегда только грубая сила. Придумываются разные изощренные архитектуры нейросетей и алгоритмы для их вычислений: функции потерь, метрики и др. В этой области сейчас занято немало математиков.
ответить
Re: нейросети
Ага, и занимаются тем, что пишут на питоне.
ответить
☞ From Anonymous (unverified) Fri Aug 16 14:41:42 2024
Комменты с кодом
У вас есть какая-то позиция по поводу комментов, содержащих код? Может в каких-то ситуациях вы их принципиально не раскрываете и писать их бесполезно? А то что-то мой комментарий с кодом на C, который сортирует что-то там пузырьком так и не раскрыт, хотя вроде времени уже много прошло.
ответить
Re: Комменты с кодом
Индивидуальными консультациями (в том числе разбором написанного кода) я занимаюсь только в рамках менторинга, о чём явно сказано и в тексте о премодерации (который в любом случае стоило, по-видимому, прочитать до попытки отправить комментарий), и на странице формы контактов.
А какой-либо ценности для публики, посещающей мой сайт, я в вашем коде не усмотрел.
ответить
☞ From Artem (unverified) Thu Aug 15 13:54:05 2024
Снова о математике
Возник такой вопрос: а как понять, понимаю ли я сам эту вашу математику? То есть, не просто могу ворочать синусами-тангенсами да считать производные, как счётная машина, а вот прям понимаю, или же не понимаю? Иногда в комментариях вы приводили примеры задач, которые непонимающий человек не сможет решить, но все эти задачи в моём случае бесполезны, ведь я уже встречал либо такие же, либо очень похожие, и там они приводились сразу с решением.
ответить
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-мерного параллелепипеда, натянутого на векторы-строки. И тоже мне ни одна зараза на первом курсе этого не сказала. А, скажем, ТФКП в меня прекрасно зашло после того, как кто-то мне объяснил, что не нужно пытаться представить себе четырёхмерный график комплексной функции, вместо этого вот есть конформные отображения — вот они и есть эти аналитические функции, этот примус работает так. К счастью, это произошло сильно раньше диплома (так что когда я готовился к госэкзамену, ТФКП реально грокнул, причём хорошо помню, что никаких трудностей не было с пониманием), но, к сожалению, таки позже экзамена по ТФКП, на котором мне вкатили тройку из жалости.
В общем, рецепта, как отличить умение от понимания, я предоставить не могу, но, возможно, приведённые примеры помогут вам сформировать собственное ощущение, в чём такое отличие состоит.
ответить
С программированием - аналогично
По-моему, именно такие же пути надо проходить по другим областям, но не всем.
Когда в меня пытались в школе вдолбить С, я вообще не понимал, зачем нужны указатели, почему всё так устроено, итд. Но когда прошелся сначала по Паскалю, ассемблеру, язык Си вошел в меня меньше, чем за месяц. С всякими странностями, но вошел.
А вот какая-нибудь биология не факт, что получится. Для её изучения нужны эксперименты, которые ещё и запрещают зачем-то, когда испытуемые даже не против этого. В частности, генетика. Заниматься по учебникам можно, а на людях тестировать - нельзя. Видимо верхушка уверена, что человечество шестым чувством выясняли, а не методом проб и ошибок, что бледные поганки - смертельный яд.
ответить
Re: С программированием - аналогично
С генетикой всё не так просто, там и без запретов есть проблемы от использования людей как подопытных. Например, люди чертовски долго вынашиваются и растут, да и геном у них сложноват. Абстрактный генетик не просто так полюбил абстрактную дрозофилу.
ответить
Э-ммм
Как говорят в таких случаях, мнение владельца сайта может не совпадать с высказанным в комменте, даже если коммент был раскрыт.
ответить
Re: Снова о математике
Математика - и есть ворочание синусами и тангенсами, и счёт производных. Как раз суть в том, что можно смотреть на математические объекты под любым углом, и придумывать ему разные интерпритации, а не сходится к какой-то одной. Математика и логика как раз созданы чтобы не быть интуитивными. Ведь интуитивные вещи могут быть и ложны.
ответить
Re: Снова о математике
Примерно такой позиции придерживалась "творческая группа", действовавшая под псевдонимом Никола Бурбаки. За вермя своей активной деятельности они благополучно прикончили (уничтожили, домножили на ноль, истребили, закопали, недостающее вписать) высшую математику во Франции. Но у бурбакистов было хотя бы не то чтобы оправдание, но, скажем, некое объяснение их деятельности: сами-то они математику понимали, но их собственный уровень постижения был достаточен для непосредственной трансляции поступающих извне формальных описаний во внутреннее понимание. Просто они, как водится у персонажей, давно и прочно въехавших в некий предмет, переоценили аудиторию, тем более что эпоха Бурбаки — это примерно как раз то время, когда государства ввиду своих интересов попытались высшее образование из штучного явления превратить в массовое.
Сейчас, имея определённый опыт на эту тему, продолжать настаивать на формальном подходе к постижению математики — это, скажем так, вредительство.
ответить
Re: Re: Снова о математике
> интуитивные вещи могут быть и ложны
Логичные тоже. Всякое логическое рассуждение предполагает наличие аксиом, принимаемых просто потому что. Эти аксиомы могут оказаться ложными, но приводить к верным выводам сколь угодно долго, ведь законы логики отвергают лишь возможность получить ложное суждение из истинного, но допускают получение истинного суждения из ложной предпосылки.
А ещё мне кажется, что будь всё так, как вы сказали, нейросети не были бы столь высокоспециализированы, не деградировали бы при дообучении на собственных результатах работы, и не нуждались бы в терабайтах данных для обучения. В общем, были бы, как люди, пусть даже и весьма посредственные.
ответить
Re: Снова о математике
Аксиомы не бывают ложными, они могут разве что противоречить друг дружке.
ответить
Re: Re: Снова о математике
Аксиомы могут быть ложными в контексте их неверного применения. Например в арифметике действительных чисел аксиомы истинны (потому что так так решили, да). Но если речь идёт о счёте объектов реального мира, то в каких-то ситуациях они могут ломаться. Например 1 литр спирта + 1 литр воды — это меньше 2 литров смеси. А вот 1 яблоко + 1 яблоко — это всё-таки ровно 2 яблока.
ответить
Re: Снова о математике
По ходу, вы вообще не понимаете, ни что такое математика, ни что такое аксиомы. Ни, кстати, что такое "счёт объектов", поскольку после смешивания литра воды с литром спирта у нас нет больше ни литра воды, ни литра спирта, они оба были потрачены (израсходованы, пущены в дело, как хотите назовите), в общем их больше нет. Что получилось в итоге и _сколько_ этого получилось — принципиально не имеет никакого отношения к арифметике.
ответить
Re: Re: Снова о математике
Математика и логика как раз созданы чтобы не быть интуитивными. Ведь интуитивные вещи могут быть и ложны
перефразирую вас.
интуитивные вещи могут быть ложны, следовательно, логика не должна быть интуитивной?
чай с молоком бывает сладким. значит несладкий чай должен быть без молока?
ответить
☞ From Anonymous (unverified) Wed Aug 14 08:24:25 2024
проблемы даркнета
Здравствуйте Андрей Викторович, в своем обращении, вы упоминали о желании сделать даркнет, в котором генерация публичного ключа будет использовать доказательство работы и ограничение числа поинтов, тем самым, не позволяя существовать крупным публичным нодам, но разве это не слишком просто обойти?
Допустим у нас есть корпорация, захотевшая сделать большую социальную "сеть", что ей мешает на своей ноде поднять http вебсайт (поверх нашего даркнета) с публичной регистрацией, у которого на бакэнде уже не будет ограничений в 1024 пользователей? Не особо понятна роль поинтов в сети. Лично я сторонник мнения, что централизация сети - проблема социальная, и не все социальные проблемы можно решить техническим путем.
ответить
Re: проблемы даркнета
> что ей мешает на своей ноде поднять http вебсайт
Во-первых, и в-главных: при чём тут вообще http? Через такой сайт можно будет разве что сделать доступной какую-то информацию, циркулирующую внутри наложенной сети и публично доступную, но такой там как раз быть не должно. Для распространения информации в парадигме "один вещает, все желающие получают" уже и так средств до фига. Да и для схемы "скачать что надо у кого поближе" есть bittorrent и всякое вроде него. А здесь (ну, согласно моему замыслу, во всяком случае) будет коммуникация firend-to-friend, в том числе один-один (частная переписка), один-много (список рассылки анонсов), много-много (дискуссионный список рассылки), но "много" всегда будет означать некий конечный список участников.
В частности, чтобы получить какую-нибудь книгу, музыкальный трек или фильм, нужно будет спросить своих друзей, у кого в коллекции файлов есть то, что требуется. Возможно, кто-то из них окажет нам любезность и также спросит своих друзей; возможно, не спросит. Но если и спросит, то мы не узнаем, откуда _он_ взял нужный нам файл, для нас он будет скачанным из коллекции нашего непосредственного френда.
А для участия в любой коммуникации нужен будет идентификатор, это и есть, собственно, поинт. И поинтов на каждую ноду будет, видимо, всё-таки 253 (один байт, за вычетом трёх зарезервированных значений 0x00, 0xfe и 0xff), так что каждую сгенерированную ноду возможно будет использовать её владельцу и ещё 252 людям, это будет технически возможный максимум.
Что до централизации — это проблема не социальная, а экономическая. Её можно было бы частично решить запретом рекламы и полностью снять отменой юридических лиц, но это всё существенно менее реально, нежели сделать наложенную сеть, ориентированную на НЕпубличные и при этом полностью скрытые от внешнего мира и никому не подконтрольные коммуникации.
ответить
Re: Re: проблемы даркнета
Благодарю за развернутый ответ! Концепция мне стала более ясна, но одна вещь все же непонятна, чем это лучше приватного группового чатика в каком нибудь джаббере? Там тоже только свои и все друг друга знают.
ответить
Re: проблемы даркнета
Для джаббера нужен сервер на фиксированном и известном всему миру ip-адресе, и этот сервер становится точкой уязвимости (см. сюда, например).
Вообще у меня складывается такое ощущение, что вы в принципе не понимаете, о чём идёт речь.
Впрочем, есть ещё один момент: протокол XMPP, судя по всему, подыхает под собственной тяжестью. Во всяком случае, в мире нет ни одного поддерживаемого XMPP-сервера, который я бы счёл приемлемым для установки на свои машины, и такое положение существует уже больше десяти лет (точно не помню, когда там jabberd2 перестали поддерживать). А мораль-то проста: каждый, кому в голову приходит применить XML или что-то на него похожее, причём независимо от задачи, должен немедленно и по доброй воле прыгнуть в биореактор.
ответить
Re: Re: проблемы даркнета
Вот тут полностью согласен, уже сам успел обплеватся и обматерится пока пытался Prosody поставить. В сторону ерланговского Ejabberd даже смотреть не стал, там полагаю, еще хуже. Но ладно бы серверы, клиенты нормальные вымирают! Статистически 2 клиента из 3 категорически отказываются работать без TLS сертификата, причем заверенного CA, самописные не принимают. А самое страшное, что единственная альтернатива в категории Instant Messaging сейчас только Matrix, которая угадайте на чем? на json! А еще TLS там mandatory. И почти все юзеры сидят на центральном matrix.org сервере через веб интерфейс. Нет, есть конечно еще Tox, но он peer-to-peer и годится разве что только для звонков. Вот и остается одна лишь электронной почта.
Извините, меня прорвало, не смог сдержатся.
ответить
Re: проблемы даркнета
> Вот и остается одна лишь электронной почта.
Как в том анекдоте про Илью Муромца: вот её, родимую, и будем кушать^W юзать.
ответить
Сроки и прогресс
Интересно узнать, прикидывали ли вы сроки реализации такого проекта? Из комментариев про идеальный язык программирования я узнал, что задуманное вами получится сделать за лет десять. Сколько тогда уйдет на сеть? Вы на стадии проектирования или уже все готово и осталось дело за релизацией?
ответить
Re: Сроки и прогресс
"Проектирование" — это маркетоидский миф.
Я, к сожалению, не вполне уверенно чувствую себя с криптографией. Пока рабочий вариант — взять NaCL, попрактиковаться с ней, чтобы обрести некое ощущение уверенности, и начать писать.
Но предсказывать сроки — дело неблагодарное в любом случае. Мало ли что там по ходу пьесы вылезет.
ответить
Шифрование
А чем шифр Вернама не угодил?
По открытому каналу связи передали открытый ключ RSA, через RSA передали ключ для шифра Вернама, про RSA забыли.
Для того, чтобы передать большой ключ Вернама через маленькое сообщение, его нужно сжать, вернее, создать в сжатом виде. Например, сгенерировать несколько кб случайных чисел (первая часть). А потом еще несколько кб случайных чисел (вторая часть), которые следует интерпретировать как беззнаковые целые вида "номер байта начала куска ключа из первой части" + "номер байта конца куска из первой части" (если первое больше второго, итерироваться в обратном направлении). Едва ли интерпретация такого ключа (распаковка на лету) будет отличаться от абсолютно случайных чисел.
Заранее за несколько кб до окончания ключа, прерываемся и передаем новый ключ внутри старого канала.
Итого: XOR и длинная арифметика (для RSA). Небольшая программа на Си без библиотек.
P.S. Я не специалист в области криптографии, но это первое, что приходит в голову и кажется должно работать достаточно надежно.
ответить
Re: Шифрование
Я тоже не так чтобы большой специалист в области криптографии, но это, насколько я могу судить, не годится. NB: за объяснениями следует обратиться к тем, кто в криптографии разбирается лучше меня.
ответить
Re: Re: Шифрование
> NB: за объяснениями следует обратиться к тем, кто в криптографии разбирается лучше меня.
Андрей Викторович, спросите у знающих коллег?
ответить
Re: Шифрование
Где я их возьму?!
ответить
Re: Шифрование
Шифр Вернама абсолютно надёжен только если ключ никогда не повторяется. А здесь через какое-то время такой ключ должен повториться — после этого достаточно заксорить две повторяющиеся части и получить ксор двух кусков открытого текста. По известным фрагментам текста (например открывающие теги, заголовки, сигнатуры) можно расковырять второй кусок открытого текста.
ответить
Re: Re: Шифрование
Но ведь никто не узнает, какие куски повторяются и в какой последовательности (и в каком направлении).
Например, если ключ (первая часть) имеет вид (для ясности алфавит -- в реальности, конечно, случайные числа)
То обладая табличкой созданной из случайных чисел (вторая часть):
Получаем полный ключ:
И как это можно предсказать?
ответить
Re: Шифрование
Так, вот что, вы сюда зачем пришли, чужое время терять? Найдите себе другое место для этой цели. В криптографии вы не понимаете ничего от слова совсем, это даже мне, хоть я и не специалист, видно невооружённым глазом; но устраивать ликбез по основам криптографической безопасности вам тут никто не будет, для этого существуют книги и прочие источники, и вообще более подходящие места.
ответить
Re: Шифрование
Кажется, здесь есть несколько вопросов:
- Для абсолютной криптографической стойкости ключ Шифра Вернама должен должен иметь длину такую же, как и само сообщение, и состоять из случайных данных. А генерация случайных данных (именно случайных, а не псевдослучайных) - это медленный процесс, попробуйте хотя бы создать файл сколь-нибудь ощутимой длины из /dev/random.
- Сжатие не будет иметь никакого эффекта. Не существует алгоритма сжатия без потерь такого, который может сжимать абсолютно любые данные, для любого алгоритма сжатия обязательно найдется входная последовательность, которая переводится в последовательность такой же или даже большей длины. Математически доказывается просто: если бы существовал алгоритм сжатия без потерь, который сжимает любые данные, то это означало бы, что существует взаимно однозначное отображение между множеством всех последовательностей длины N и множеством всех последовательностей длины M < N, что невозможно. Учитывая то, что ключ шифра Вернама будет состоять из истинно случайных данных, скорее всего он просто не сожмется.
ответить
Re: Re: Шифрование
Давайте завязывать с этой темой, чуваку просто потрындеть охота. Если бы он реально хотел разобраться, он бы нашёл для этого более подходящий форум.
ответить
Re: Re: Сроки и прогресс
https://monocypher.org/ можете глянуть
он более минималистичен и проще будет для "вкатывания" чем NaCL
ответить
Re: Сроки и прогресс
Спасибо, выглядит на первый взгляд привлекательно, хоть и декларируется C99 (но это, возможно, получится отстричь; с ходу там от C99 виден только uint8_t, но я пока не пробовал компилировать с -ansi).
ответить
Re: Re: проблемы даркнета
А что вы думаете про delta.chat? Конкретные клиенты могут быть реализованы и на неприемлимых для вас технологиях, но зато в качестве сервера обычный почтовик подойдет, а клиент и написать можно
ответить
Re: проблемы даркнета
Я тоже когда-то давно так подумал. И даже попробовал эту штуку раскурить.
Клиента мне в первые 15 минут не удалось запустить. Следовательно, он мне не нужен, его автор — настоящая боевая безмозглая жопорукая мразь. Но это ладно. Хуже другое: эта штука ориентирована не на "обычные почтовики", как вы изволите выражаться, а на вполне конкретный крупняк со всеми его функциями. Т.е. чтобы мне заставить свой собственный почтовый сервер обслуживать delta.chat, нужны весьма ненулевые усилия; на тот момент, когда я в эту сторону смотрел, у меня вообще не оказалось способа раскурить свой почтовый сервер, совместимый с единственной (на тот момент; я не знаю, как с этим сейчас) реализацией delta.chat, поскольку "голый" postfix такого не умеет, а, скажем, собрать dovecot под Openwall/*/Linux не вполне реально, и к тому же этого может не хватить. Я уже точно не помню, чего они там хотят, но в общем я видел инструкции, как это настроить для конкретных жирных "бесплатных" почтовиков, но не видел даже намёка на инструкцию, как поднять свой почтовик.
Не надо тратить время на подобные поделья поганых бабуинов, нужно хоть чуть-чуть себя уважать. Когда единственная реализация написана хер знает на чём (уже не помню, честно говоря, что там за "прогрессивные новые технологии", помню только, что запустить не удалось), странно ждать от такого какой-то полезности.
UPD: сходил глянул. За прошедшие годы там, конечно, многое поменялось, о десктопном клиенте больше речи не идёт, оно стало браузерным, инсталлировать предлагается через всякие snap'ы и прочее в таком духе, а информацию, на чём оно написано и как его запустить, грубо говоря, контролируемо, с ходу не видно (возможно, где-то там она и есть). В морг.
ответить
Почтовый оффтопик
Андрей Викторович, а какой POP3-сервер Вы используете? Это случайно не popa3d? Выше Вы упомянули dovecot. О нём говорят чуть ли не в каждой статье и мне не известно, есть ли ему какая-нибудь более минималистичная альтернатива. Ну разве что popa3d.
ответить
Re: Почтовый оффтопик
Я не использую ни pop3, ни imap. Нетбук, на котором у меня живёт почта, является полноценным smtp-спикером, т.е. почту забирает с сервера по smtp через проброшенный ssh'ем порт, и тем же способом отправляет. Хитрость тут только в том, чтобы почту для доменного имени, выделенного нетбуку, на сервере держать без попыток доставки, пока такая доставка не будет затребована явным образом; но postfix так умеет.
ответить
Re: Re: проблемы даркнета
Как-то очень похоже на "современный" Фидо, где мэйлер "звонит по IP" у большинства узлов. Или я не правильно представляю функционал? Нужно что-то большее, чем нетмэйл + эхи + фэхи + пересылка attach?
ответить
Re: проблемы даркнета
С фидонетом я тут общего вижу только двухуровневую организацию пользователей. Не вижу никакого резона давать более подробные объяснения.
ответить
☞ From Parthen (unverified) Tue Aug 13 23:51:32 2024
Пишем CMS
Года три назад я тут как раз думал о том, что сайты не на чем писать.
Теперь я изучаю Си, и думаю, смогу написать простенькую CGI вот прям на ANSI C. Потому что хочу, потому что могу.
Я мало понимаю в веб-серверах, сайты я писал всегда ручками и кидал в /var/www/html, на этом настройка кончалась.
Как к этому правильно подступится? PHP и SQL мне снятся в кошмарах, как не вляпаться в что-то подобное?
ответить
Re: Пишем CMS
> и думаю, смогу написать простенькую CGI вот прям на ANSI C
Не вижу препятствий.
> Как к этому правильно подступится?
Ну, как правильно настраивать Apache, чтоб он CGI выполнял — это вот тут.
А сам CGI — ну, это довольно просто: основной источник информации у нас переменные окружения, для POST-запросов ещё стандартный ввод, а на вывод мы должны вывалить заголовок с некоторыми полями для HTTP response header и собственно содержимое отдаваемой страницы (или изображения, или что мы там хотим отдать).
> PHP и SQL мне снятся в кошмарах, как не вляпаться в что-то подобное?
Меня вот всегда интересовало, как это так "случайные связи", то есть это вот что, идёшь по улице, никого не трогаешь, и вдруг внезапно, стало быть... э...
я это к тому, что если вы сами себя в ЭТО не вляпаете, то никто другой вас и подавно туда не вляпает. Решили писать на чистом Си — вот на нём и пишите, ничего невозможного тут нет.
ответить
☞ From kv (unverified) Tue Aug 13 20:25:43 2024
винда
А как вы запускаете винду из-под линукса, чтобы эта винда не гадила и не лезла куда не следует ?
ответить
Re: винда
Я не запускаю винду ни из-под линукса, ни откуда-либо ещё, и другим не советую.
ответить
Re: Re: винда
В интервью на канале АйТиБорода на 1:28:50 говорится следующее: "На самом деле винда у меня есть". О чём была речь вообще?
ответить
Re: Re: Re: винда
У меня на тот момент был отдельный ноутбук с WinXP, чтобы на нём запускать бухгалтерские программы — отчётность сдавать в налоговую и (опять же, на тот момент) пенсионный фонд. Включался этот ноут раз в два месяца, больше на нём ничего не делалось, всё остальное время он был завален бумажками и прочими предметами до состояния невидимости.
"Это было в россии, значит было давно"
ответить
☞ From Anonymous (unverified) Tue Aug 13 20:01:48 2024
Такие вот вопросы)
Андрей, здравствуйте! Я студент второго курса специальности "Инженерия програмного обеспечения".
Возможно, удасться получить от Вас несколько ответов на очень интересующие меня вопросы (назревших в свете почерпнутой из ваших книг информации, а также обсуждений на данном сайте)
На нашем факультете, с первого по четвёртый курс изучается ООП (C# под Windoze на mvs).
Сам преподаватель ООП, по его словам, параллельно работает програмистом-питонщиком.
После этого по учебному плану - всё тот же .net, Java, и web-разработка (2-4 курс). И тут у меня возникает несколько вопросов:
1) Я не могу взять в толк, чем руководствуются люди, пишущие на Java и C#?
Если с жабаскриптерами всё понятно, то вот здесь мне невдомёк.
Может у этих языков есть какие-то бенефиты, которых у С, и в частности С++ просто нет? (кроме GC)
Или это дело рук навязанных идей про "устарелость", "всё новое и блестящее - впихиваем в себя", и некомпетентности в профессии?
А может быть, некоторым они просто больше по душе, и зря я их так?
Может, это языки, которые имеет смысл изучать уже после полного прохождения пути Паскаль -> Ассемблер -> C -> C++?
Даже долой майкрософтовский C#, но вот Java, например?
Приходилось ли Вам в профессиональной практике программировать на данных языках?
2) Какова роль диплома для будущего трудоустройства?
Слышал много реплик знакомых из IT о том, что без диплома - на завод, и обратное, мол, да зачем он вообще нужен.
Бросать ВУЗ я не собираюсь, и, вопреки ВУЗовской программе, всё таки собираюсь учиться.
Но вот ведь разница: взять ту же медицину - без необходимого глубоко очного обучения в университете и последующей/параллельной практики, рассчитывать не на что.
И, соответственно, роль диплома здесь существенна, это показатель твоей общей квалификации, пройденного сложного пути.
Но вот схожая ли ситуация с программистами?
Какую вообще информацию о человеке может дать диплом , при таком то обучении?
Спасибо!
ответить
Re: Такие вот вопросы)
На нашем факультете, с первого по четвёртый курс изучается ООП (C# под Windoze на mvs). Сам преподаватель ООП, по его словам, параллельно работает програмистом-питонщиком.
Киллера бы ему нанять. Мало того что сам дебил, так ещё и студентов одебиливает. Впрочем, в учебных заведениях такого рода в большинстве случаев студенту хуже уже не сделать. Поинтересуйтесь на досуге (в частных разговорах; возможно, под пиво; и аккуратно, чтобы не спугнуть), кто из ваших однокурсников способен отсортировать массив пузырьком. В смысле вот прямо сесть и написать программу, которая это делает — естественно, без использования всяких встроенных и библиотечных средств сортировки. Ну, например, читает числа с клавиатуры, пока там конец файла не стрясётся, а потом выдаёт их отсортированными по возрастанию, и всё это без библиотечной сортировки.
Результат вас, возможно, несколько удивит.
Может у этих языков есть какие-то бенефиты
Как и у всех обезьяньих поделий, у этих языков ровно один "бенефит": на них можно писать, будучи обезьяной. Но есть и вторая сторона этого момента: нормальные люди на таких языках не пишут, а если пишут, то сами превращаются в обезьян.
(кроме GC)
Если бы вы не игнорировали FAQ, то уже знали бы, что GC — это не "бенефит", это недостаток, и притом (для императивных языков) фатальный.
Может, это языки, которые имеет смысл изучать
Есть ровно одна ситуация, когда об ЯП этой категории стоит марать руки и мозги: это когда вам прямо сейчас за работу именно на этих языках готовы платить, ну, скажем, в полтора (а лучше в два) раза больше, чем за нормальное программирование. Ну то есть это не то чтобы "есть вакансии", а вот прямо есть конкретное предложение от конкретного работодателя: освоишь джаву — будет вот такая зарплата, и вот официальный оффер.
Умея программировать, вы начнёте уверенно писать на той же джаве после недели, ну максимум двух недель интенсивного раскуривания всяких источников. Если двух недель не хватило — значит, вы ещё не умели программировать.
Только надолго там не задерживайтесь, параллельно нужно искать нормальное место работы за нормальные деньги, и как только таковое появится — валить туда. Иначе мозгам кабзда. Ну, не сразу, но два-три года на той же джаве — и выйти обратно в хорошую интеллектуальную форму будет уже крайне тяжело.
Какую вообще информацию о человеке может дать диплом , при таком то обучении?
В целом все "технические" специальности более-менее одинаковы: всё, что они могут дать полезного — это математика, по принципу "с паршивой овцы хоть шерсти клок". Сам термин "высшее техническое образование" содержит неразрешимое противоречие: образование может быть или техническим, или высшим, но никак не одновременно. А вот какая у вас там математика — это второй вопрос. Скажем, если у вас там есть такой предмет "высшая математика" (ну, вот прямо так называется), то вы в этом ВУЗе попусту теряете лучшие годы жизни. Впрочем, даже если учебный план построен более-менее осмысленно и содержит такие предметы, как "математический анализ", "линейная алгебра", "общая алгебра", "теория вероятностей", "дифференциальные уравнения" и т.п., это само по себе ничего не гарантирует, нужны ещё преподаватели, которые предмет (а) хорошо знают и (б) умеют преподавать.
Что касается медиков, то там, насколько я могу судить, как раз получается всё правильно: хороший врач обязан быть "немножко учёным", делать выводы из интересных случаев, документировать их, наиболее серьёзные результаты публиковать. В каком-нибудь Склифе врачи через одного со степенями. Поэтому врач — не знахарь, а реальный врач — это не ремесло, это именно что ближе к науке. Не так чтобы прямо вообще все врачи были учёными, но лучшие из них — ну, просто факт, учёными являются. И там образование из рук действующих учёных (попросту говоря, лучших из врачей), во-первых, не роскошь, а необходимость, и, во-вторых, оно оказывается реализуемо.
В применении к инженерам — неважно, программистам или ещё каким инженерам — ничего подобного существовать не может. Есть наука, есть техника, это разные вещи.
P.S. Вот тут ещё было про врачей.
ответить
Re: Re: Такие вот вопросы)
Спасибо большое, для меня было важно услышать Ваше мнение :-)
ответить
Re: Re: Такие вот вопросы)
>результат вас удивит
То есть как? Типа, некоторое довольно значительное количество студентов это сделать не способны?
Мы ж про этот пузырек говорим? https://en.m.wikipedia.org/wiki/Bubble_sort
Или есть какой-то ещё? Если про этот, то как они до какого-то там курса дожили? Тут же буквально нечего понимать, мысленные усилия по пониманию пузырька ничтожны. Легче... эээ, геометрии за первый семестр 7 класса. Как они вообще пишут хоть какие-то программы, если они пузырьком сортировать не могут?
ответить
Re: Такие вот вопросы)
Прекращайте верить в человечество, что я вам ещё могу сказать.
Если что: они не пишут программ. Как максимум — переписывают их из методички. Что до количества, судите сами. Когда я зарабатывал доцента в ВУЗе "третьего эшелона", за пять лет я, соответственно, повидал пять курсов, в основном имел дело с третьекурсниками. Поголовье каждого курса составляло от 25 до 33 (если склероз не изменяет) особей. Специальность (якобы) программистская. Так вот, за все пять лет количество попавшихся мне студентов, в принципе способных отсортировать массив, составило (барабанная дробь) ТРИ человека.
UPD: соврал, забыл про одного. Четыре.
ответить
Re: Re: Такие вот вопросы)
Простите, Вам мои вопросы, наверное, странными и дебильными покажутся. Но я не в силах заставить себя их не задать - разве что я буду забанен.
>только 4 из ~150 студентов могли отсортировать массив
Это же мы все ещё про пузырёк говорим? Не про какие-нибудь заумные сортировки из глубин книжек Д.Кнута? Всего четверо могли сортировать пузырьком? Простите ещё раз за идиотизм формулировки вопроса, но: Вы буквально имеете в виду то, что говорите? Без скрытых подвохов и дополнительных обстоятельств?
>они не пишут программ
Что же тогда собой вообще представляла их учебная деятельность с практической стороны? Они ж не могут просто картинки в книжках смотреть, если они будущие программисты? Практикум на ЭВМ - не?
И как Вы для себя решали проблему оценки их знаний на зачётных мероприятиях, если не секрет? За что Вы им ставили оценки, в результате которых они с третьего курса на четвёртый перешли?
ответить
Re: Такие вот вопросы)
> Это же мы все ещё про пузырёк говорим?
Да хрен с ним с пузырьком, вся эта толпа, кроме упомянутых четверых, не могла отсортировать массив вообще никаким способом. Подавляющее большинство из них просто не понимали, о чём вообще идёт речь.
Слушайте, для вас это что, сюрприз? Вы когда-нибудь пробовали объяснить, как работают два вложенных цикла человеку, который этого не понимает? А вы вообще осознаёте, что 99% людей вокруг принципиально неспособны понять, что такое вложенные циклы, то есть просто не имеют такого потенциала, соберись хоть батальон лучших преподавателей программирования всех времён и народов?
Если не верится, не беспокойтесь, я когда-то тоже даже представить себе не мог, насколько в мире всё плохо. Пока не начал заниматься частными уроками.
Что до этого ВУЗа, как вы думаете, какой там был контингент, если никакого минимального проходного балла там установлено не было (ибо недобор) и, как следствие, на первый курс зачисляли всех, кто принёс положительно сданный ЕГЭ? "Положительно" — это означает "не на двойку". Т.е., собственно говоря, для поступления туда достаточно было предъявить школьный аттестат.
Что же тогда собой вообще представляла их учебная деятельность с практической стороны?
Собственно говоря, вся деятельность всех ВУЗов третьего эшелона представляет собой одно и то же: преподаватели делают вид, что учат, студенты делают вид, что учатся. Я это понял не сразу — и был очень удивлён, когда на первой "лабораторке" с предложенным заданием (вроде бы очень простым) не справился ни один из студентов. Не просто не справился, большинство из них даже не начали ничего писать, поскольку не понимали, чего от них хотят. Это был, ещё раз подчёркиваю, третий курс.
Именно тогда я научился придумывать такие задачи, проще которых, скажем так, сделать невозможно. Ну, вот возьмите задачник, гляньте задачу 2.19. Вот это вот и ещё подобного сорта задачки я тогда придумывал десятками, чтобы каждый раз дать новые, ну то есть похожие, но хоть чем-то отличающиеся. И так — пять, десять, сколько угодно заходов, пока хоть одна программа (да, блджад, от силы на двадцать строчек) не будет написана и запущена. Примерно половина не могла и этого.
Ну а дальше каждая сессия превращалась в битву с начальством за то, чтобы хоть кого-нибудь из этих дебилов отчислить. Ну то есть там отчислять, разумеется, надо было поголовно всех (четверо за пять лет хоть что-то понимающих — это в пределах статпогрешности), но устроить такое было, я бы сказал, технически невозможно: даже если бы на уровне кафедры какое-то подобное решение удалось протолкнуть, то в итоге разогнали бы кафедру и набрали других преподавателей, а студентов бы оставили — за них же финансирование поступает, вычо.
ответить
Эээ, чего?!
>Что до этого ВУЗа, как вы думаете, какой там был контингент, если никакого минимального проходного балла там установлено не было (ибо недобор)
Я правильно понимаю что речь про МГУ? Тот самый, в который рвутся пол-страны? И недобор?
Я, честно говоря, когда выбирал ВУЗ для поступления на МГУ/МФТИ даже не смотрел, ибо не верил, что пройду
ответить
Re: Эээ, чего?!
Нет, неправильно понимаете. Читайте внимательнее тред.
Речь, если интересно, про МГТУГА.
ответить
Re: Re: Эээ, чего?!
А каким образом сортировка пузырьком и вообще программирование относится к авиации? Они что, предположительно будут писать программы для автопилотов каких-нибудь? Что-то я уже по-немногу начинаю понимать авиафобию...
ответить
Re: Эээ, чего?!
Ну, во-первых, автопилоты и всякое прочее, что летает — это в МАИ, а в МГТУГА (якобы) в основном про управление воздушным движением и прочее наземное обслуживание.
Во-вторых, поскольку специальность программистская, ваш вопрос звучит довольно-таки бредово: вы что, можете себе представить программиста (безотносительно предметной области), который пишет программы за деньги, но при этом неспособен отсортировать массив пузырьком? Чушь собачья, не? Но вообще, если что, пузырёк в данном случае лишь иллюстрация, а фактура тут буквально в том, что там практически у всего контингента (ну, по крайней мере той специальности, с которой я имел дело, т.е. программистской) совершенно непоправимый алгоритмический кретинизм.
Ну и в-третьих: нет, я не могу себе представить, чтобы эта публика работала по "полученной" (в жирных кавычках) "специальности" (ещё жирнее). Иначе я бы за российскую гражданскую авиацию ещё тогда (а это 2008–2013) яйца бы ломаного и гроша выеденного не дал.
Да и вообще, такие специальности в ВУЗе "дать" невозможно. Ремесло передаётся только в мастерской, от мастера к ученику. Абсолютно любое ремесло. Ни в каком ВУЗе не пишут прошивки для автопилотов, и, как следствие, научить этому не могут; этому можно научиться только там, где это реально физически делается. Вот, скажем, в университетах всегда занимались наукой, поэтому там могли научить науке, т.е. (хоть и с 95%-отбраковкой) всё-таки худо-бедно делать новых учёных. Всё, что выходит из университетов и учёным не становится — это побочный продукт, хотя и полезный.
Ну а всякие советские институты, дружно в девяностые переименовашиеся в "университеты", вообще бессмысленны. Были бессмысленны, бессмысленны сейчас и будут бессмысленны, пока их не позакрывают наконец.
ответить
Re: Re: Такие вот вопросы)
>если не верится
Не верится. То есть, мне не придет в голову предположить, что Вы фантазируете или преувеличиваете - с Вашим-то опытом. Но мой ум в настоящее время просто неспособен полноценно вообразить то, что Вы говорите.
Я вот этот Ваш ответ прочел, и мне захотелось выйти на балкон, выпучить глаза ещё сильнее, чем они выпучились при прочтении Вашего ответа, закурить и долго смотреть в никуда - при том, что я вообще не курю.
Спасибо за Ваши ответы, простите ещё раз за все эти заданные вопросы.
ответить
Re: Такие вот вопросы)
Вот вам ещё для дополнительного чтения из недавнего.
ответить
Re: Re: Re: Такие вот вопросы)
Вот меня это не удивляет. Я сам учится в ВУЗе сомнительной категории и программы сами писали где-то как раз примерно три студента из группы, может чуть больше.
ответить
Re: Такие вот вопросы)
Три из группы — это до фига. Скажем, в МГУ по моим наблюдениям, если к стенке не припереть, самостоятельно программы писали только те, кто не хотел терять самоуважения; ну это примерно процентов 20, т.е. если, скажем, в группе 15 человек, то вот как раз ваши "три" и получатся. Иной вопрос, что если попадался препод-фошшЫст вроде меня, которому распознать "автор — не автор" как два байта переслать и который никакого иного варианта, нежели полностью самостоятельное написание, не принимает в принципе, то есть вообще, то есть никак, то вся группа, крякнув, начинает программировать самостоятельно — за исключением тех, кто патологически этого делать не способен, но таких (в МГУ) было уже не очень много, в некоторых группах вообще не было, но чаще было как раз два-три аутсайдера на каждую группу (примерно столько вылетало каждый год на зимней сессии из-за несданного мне практикума).
Но если речь не про МГУ, то три из группы, пишущие самостоятельно при наличии "других вариантов" — это прям хорошо и много. Скорее всего, вы своих однокурсников несколько переоцениваете.
ответить
Re: Re: Re: Такие вот вопросы) FizzBuzz
А вы разве не застали эпидемию FizzBuzz? На каком-то сайте опубликовали статью про то, что 90% кандидатов пытающихся устроиться на работу программистом не могут написать программу, которая выводит числа от 1 до 100, но пишет Fizz вместо числа если оно делится на 3, Buzz если делится на 5 и FizzBuzz если делится на 15. Может путаю что-то ибо пишу по памяти, но можете сами поискать эту статью.
И после этого все бросились писать эти FizzBuzz-ы на всяких языках через всякие подковырки и тд. А суть была вовсе не в том, что это какой-то челлендж, а просто чтобы быстро отсеять кандидатов на место программиста, кто вообще не может программировать. Сортировка пузырьком даже сложнее этого FizzBuzz, а речь идёт о студентах, а не о тех кто уже закончил ВУЗ и пошел устраиваться на работу, так что вас удивляет?
ответить
Re: Такие вот вопросы) FizzBuzz
Всех (точнее, всех тех, кто умеет программировать) обычно удивляет одно и то же: как можно этого не понимать. Между прочим, многие преподаватели тоже не особо заморачиваются тем, что там реально творится у студента в мозгу. Я реальную картину представляю по двум причинам: во-первых, я занимался частными уроками, там некому создавать тот маскирующий фидбек, под которым благополучно прячутся все, кто ни хрена не понял; во-вторых, когда мне студент сдаёт программу, понять, что программа вообще-то не его, мне всегда было проще пареной репы, но это далеко не у всех преподавателей так.
ответить
☞ From Parthen (unverified) Mon Aug 12 19:39:07 2024
Реклама книги v2.0
http://infoviolence.org/ytid.cgi/ml1aGQn32z4
Забавно, что в комментариях книгу защищают больше, чем ругают. В кои-то веки аудитория Ютуба адекватнее аудитории LOR'а
ответить
Re: Реклама книги v2.0
Прямую ссылку на тюбик я, сорри, таки заменил :-)
Чего там не вижу, так это чтоб в комментах было больше адеквата, чем неадеквата. И даже чтобы был выше процент адеквата, нежели на лоре. Впрочем, и фиг бы с ним, хотите хвалите, хотите ругайте, только URL не перепутайте.
ответить
Re: Re: Реклама книги v2.0
>Прямую ссылку на тюбик я, сорри, таки заменил :-)
Да без проблем. Я бы и сам так сделал, только почему-то думал, что Shorts не работают через Invidious.
ответить
Re: Реклама книги v2.0
А я даже не заметил в итоге, что это short. Вбил в ytid исходный URL, посмотрел, ни тебе тормозов, ни этого дебильного лэйаута, который на тюбике для просмотра short'ов.
Гм, а что, у short'ов бывают комментарии? Век живи, век учись.
ответить
Re: Re: Реклама книги v2.0
У меня видео вообще не проигрывается, спасибо Роскомпозору. Но я думаю и не важно. Комменты зато почитал.
Ребёнок такой "Я хочу стать бухгалтером когда вырасту! Надо хорошо учиться, освоить счёт, таблицу умножения...", а ему "Да не, ты что, нафиг оно тебе нужно?! Это только если ты ядерным физиком будешь! Лучше вот возьми налоговый кодекс почитай, а в цифрах, буквах, знаки действий и тд по ходу действий разберёшься"
ответить
Re: Re: Re: Реклама книги v2.0
> видео вообще не проигрывается
Кстати, есть несколько способов обхода этой блокировки, в интернете много гайдов написано. Но я не уверен, что есть смысл конкретно здесь детально об этом рассказывать.
ответить
Re: Реклама книги v2.0
Смысла точно нет — я такой коммент не раскрою. Если человеку лень самостоятельно поискать, то мы ему вряд ли чем-то поможем.
ответить
Re: Re: Реклама книги v2.0
У всего этого жанра вертикальных видео комменты есть по умолчанию, если не отключены автором.
>Век живи, век учись
По-моему, счастлив тот, кто в этом не разбирается.
ответить
Re: Реклама книги v2.0
Хы, мне этот ролик попался намного раньше, когда там комментов было меньше, но лучше там от этого не стало.
Совершенно безотносительно моего отношения к книжкам и их автору - тут принципиально неважно, какое оно - могу утверждать, что такую кунсткамеру я редко где вижу. Между теми, кто срётся на лоре и теми, кто был в в комментах к этому видео, есть, как мне кажется, принципиальная разница: на ЛОРе в большинстве своём участники специальной олимпиады хотя бы издали выглядят теми, кто разбирается в том, о чём говорит. То есть, как будто бы у ЛОРовцев обычно можно понять причину того или иного высказанного мнения.
В комментах по ссылке совсем иначе. Даже не знаю, что меня больше повеселило в этих комментах: через полминуты возникшее ощущение, что я, листая, увижу там коммент наподобие "да он нам и на**й не нужОн, ентернет ваш", или то, что подобный коммент, как ни странно, будет адекватнее тех, что я уже прочитал. Удивительны даже не попытки высказываться на темы, в которых у высказывающегося глубоко очевидны нулевые представления о теме, а святейшая, сияющая, твердокаменная, круче вареного яйца уверенность, что высранное мнение является совершенной истиной и абсолютно авторитетным фактом.
Круто, что это в гостевуху этого сайта притащили. Уважаемый посетитель гостевухи, если ты желаешь легкую пилюлю уверенности в правиле 95% или в необратимой смерти цивилизации, если тебя развлекают такие вещи - я с удовольствием рекомендую перейти по ссылке в стартовом комменте.
ответить
Re: Реклама книги v2.0
мой видос :)
ответить
Re: Реклама книги v2.0
Даже не знаю, что тут сказать. Пожалуй, промолчу.
ответить
☞ From анон (unverified) Mon Aug 12 04:52:59 2024
Теория без плотной связи с практикой
Здравствуйте, Андрей Викторович.
Я в настоящее время балуюсь реверсом win32 приложения и его модификацией, текущих знаний мне для этого хватает, работы тут еще уйма, а иногда хочется разбавить это каким-то теоретическим контентом(не книгой про RE).
Чем конкретно я хочу заниматься за деньги, я еще не решил, вот и задумал подтянуть базу для полноты картины и более гладкого вката в будущую специализацию, в связи с этим вопрос: Как Вы считаете, как правильнее дальше учиться программисту после вашего трехтомника? Какие книги можете посоветовать? в какой последовательности?
Я пока придумал такой порядок:
1) Современные ОС. Таненбаум
2) Компьютерные сети ... Олифер и Олифер
3) C++ for real programmers. Джефф Элджер
Или всё это ерунда и без немедленной практики толку будет как от чтения состава освежителя воздуха?
ответить
Re: Теория без плотной связи с практикой
Или всё это ерунда и без немедленной практики толку будет как от чтения состава освежителя воздуха?
This.
Кстати, это и моего трёхтомника касается тоже.
ответить
Re: Теория без плотной связи с практикой
Если уж собираетесь изучать сети как программист, то лучше всего взять учебник Букатова и Гуда "Компьютерные сети. Расширенный начальный курс". В нём есть специальная глава, посвящённая программированию сетевых приложений, с практическими заданиями, например, "Реализуйте сервис передачи файлов между подключенными клиентами, находящимися за NAT…". Будет чем размять голову. К сожалению, ссылку на файлообменник предоставить не смогу, так как у меня бумажная версия. Да даже если бы была цифровая, я не знаю, куда её загружать, чтобы А.В. не пришлось за мной подтирать.
ответить
Re: Теория без плотной связи с практикой
Если человек реверсингом балуется, а сам ничего не пишет — то для начала ему стоит научиться программировать вообще, а уже потом смотреть на специальные области.
ответить
Re: Re: Теория без плотной связи с практикой
Программирую бота для того приложения, что реверс инжинерю (бот это мой тред внутри приложения), ну и консольные тулзы под свои нужды в форточках, Ваш трехтомник был пройден в свое время до конца плюсов по всем правилам, а раньше макакингом занимался за деньги.
Здесь вопрос задавал больше за рекомендациями по литературе, проектик по сетям уже придумал себе
ответить
☞ From Alexander (unverified) Wed Aug 7 13:49:04 2024
Снова про математику
Благодаря Вам понял ценность изучения математики, поэтому очень хочу повторить школьную математику и в последующем уже изучать разделы вышмата. Может быть тут кто-то может посоветовать учебники по школьной математике. В разных источниках рекомендуют учебники Киселева и Туманова. Стоят ли они внимания?
ответить
Re: Снова про математику
Вот тут недавно обсуждалось, например.
ответить
Re: Снова про математику
Пересмотрев большое количество материалов на тему изучения математики, пришел к выводам, что нужно брать фундаментальные учебники по элементарной алгебре/геометрии, где материал изложен последовательно со всеми нужными теоремами и доказательствами.
По алгебре рекомендую как раз таки по учебник Туманова, так как там идет полное изложение элементарной алгебры. Начинается курс с введения абстракции отрицательных чисел, причем не просто говорится что есть отрицательные числа, а показываются причины, по которым эта абстракция возникла как таковая. Заканчивается же курс понятием производной и введением в интегралы. Причем в курсе рассматриваются темы, которые обычно совсем не входят в стандартный курс школьной алгебры: теорема Гаусса, бином Ньютона, формула Эйлера и много чего еще.
Если же говорить о геометрии, то рекомендую те учебники, по которым изучал сам:
- Планиметрия. В.Ф. Бутузов;
- Стереометрия. А.Ю. Калинин, Д.А. Терешин;
Опять же, это полноценные учебники по геометрии, где все рассказывается крайне подробно. Много тем, которые в "классических" школьных учебниках по геометрии (например, Атанасяна) не рассматриваются в принципе, хотя они являются наиболее интересными и красивыми из всего курса школьной геометрии.
ответить
Re: Re: Снова про математику
Спасибо за рекомендацию. А "Элементарная геометрия" Киселева Вам не попадалась?
ответить
Re: Re: Re: Снова про математику
Я знаком с этой книжкой, но только по ее содержанию, так что говорить о том насколько она качественная не могу.
Вам лучше пойти на математические форумы, где сидят люди, больше разбирающиеся в этом и знают какие книжки лучше по качеству, а какие хуже.
ответить
Re: Re: Снова про математику
Ох, мне кажется, тут есть одна проблема. Учебники по математике зачастую написаны формальным сухим языком. Это нисколько не плохо, наоборот это приучает к точному стилю мышления, нетерпимости к несущественным с точки зрения обывателя ошибкам в терминологии и прочим подобным вещам.
Но... чтобы этот сухой язык переварить и наконец-то разобрать, что там написано, нужно очень много терпения. Я в школе математику любил, она казалась мне несложной, но когда я поступил в университет, то меня начали ложками кормить математическим анализом, и в учебниках по нему был упомянутый мной сухой язык. Сейчас, конечно, эти учебники кажутся гораздо более простыми, но тогда хотелось прямо на стенку залезть. И единственным (!) мотиватором к изучению для меня была боязнь завалить сессию и вылететь. Подозреваю, что при самостоятельном изучении мотивация бы у меня отпала напрочь.
В общем, при изучении математики надо, к сожалению, как-то через силу пережить тот период, когда все очень тяжело идет, и как этот период пережить без внешнего давления, я не знаю.
ответить
Re: Re: Re: Снова про математику
> написаны формальным сухим языком
Ну, книжки разные бывают. Есть, например, серия "Лекции по математике" от автора В.Босс (это псевдоним, настоящая фамиля Опойцев). С этими книжками, впрочем, проблема противоположная: там рассказывается, как предмет грокнуть, но без учебника ничего не получится, поскольку самого предмета в книжках, как ни странно, нет.
> как этот период пережить без внешнего давления
Между прочим, это очень серьёзная проблема. Если бы не это, я бы вообще сказал, что высшее образование не нужно. Но увы: если бы не сессии, я бы и сам математику не знал, да её вообще мало кто бы знал, потому что осознание, нафиг она нужна, приходит обычно слишком поздно, когда мозги уже ни на что не годятся.
ответить
Внешнее давление
На мой взгляд, внешнее давление - единственный способ изучать математику, если ты, конечно, реально не какой-то одаренный человек, которого штырит от математики.
Я как-то слышал от некоторых биологов, что у тех, кто получает дофамин от доказательств или выводов теорем, 1-2% от всего земного шара. Как и в любой области. А остальные 98-99% дофамин не получают и им вообще не понятно, как можно получать удовольствие от этого. И поэтому тут поможет только одно из двух: либо кнут, либо пряник - то есть внешнее давление.
ответить
Re: Внешнее давление
> 1-2%
Замечу, примерно столько же тех, кто по итогам обучения в школе понимает, чему его учили на уроках математики.
В действительности речь, по-видимому, следует вести о том, как сделать, чтобы хотя бы эти 1-2% в итоге знали математику. Остальным никакое давление не поможет. И вообще ничего не поможет.
ответить
Re: Внешнее давление
> которого штырит от математики
Хах. Меня вот "штырит", когда я, к примеру, доказываю теорему, особенно если удалось сделать это полностью в уме. Но при этом ни малейшего желания заниматься математикой не испытываю, и если бы не университетский курс (слишком короткий, увы), я бы до сих пор не знал, что значит слово "ряд".
ответить
Re: Внешнее давление
И это проблема, товарищи. Изначальная суть высшего образования предполагала, что лекции читают действующие учёные, способные увлечь аудиторию и показать красоту предмета. Есть только одна маленькая проблема: их не хватает на всех. Высшее образование как массовое явление — нонсенс, хороших профессоров никогда не будет много.
ответить
Re: Снова про математику
Мне по математике для гуманитариев посоветовали такие книги (советовали практикующие репетиторы по математике с хорошей репутацией):
Арифметика -- "Арифметика" Сергея Никольского, Михаила Потапова, Николая Решетникова и Александра Шевкина;
Элементарная алгебра -- "Элементарная алгебра. Пособие для самообразования" Савелия Туманова; "Алгебра для самообразования" Дмитрия Фадеева и Ильи Соминского;
Геометрия -- "Геометрия: учебник для 7—11 классов общеобразовательных учреждений" Алексей Погорелов.
ответить
Re: Re: Снова про математику
Ох не надо геометрию по Погорелову, ох ни к чему это
ответить
Re: Re: Re: Снова про математику
А что в этом учебнике не так, на Ваш взгляд?
ответить
Re: Снова про математику
Это ровно тот учебник, по которому учили школьников, когда таковым был я. О школе в целом у меня сложилось впечатление как о потерянной впустую прорве ценнейшего времени, и уроки геометрии тут не исключение.
ответить
☞ From Michael (unverified) Mon Aug 5 09:47:02 2024
Data Science
Как вот быть с тем, что в некоторых отраслях Python безальтернативен? К примеру, в датасайнс, нейросетях и тп., похоже вообще у современных математиков. Он там как в старину латинский в науке - без него просто нечего делать, нейросетки, кучи библиотек, целая экосистема - все питон. Важнейшие современные библиотеки для построения нейросеток -питон (PyTorch например). Теоретически конечно можно самому вручную все программировать на чем угодно, есть некоторые модели на других языках (до примерно середины нулевых еще активно матлаб использовался), но на практике все это вторично. Столкнулся с тем, что нейросети и обработка данных - это просто царство питона хуже Web-а.
ответить
Re: Data Science
Ну так не работайте в этих областях, кто заставляет-то? А если очень хочется — сначала поищите реализацию соответствующих алгоритмов на чистом Си, в крайнем случае на C++ (кстати, к бабке не ходи, все эти "библиотеки для питона" на Си написаны, иначе бы они работали со скоростью варёной черепахи), если чего-то не найдётся — напишите сами.
Применению питона для чего бы то ни было не может быть никаких оправданий. Вообще. А термин "экосистема" самим фактом своего появления означает, что там требуется огнемёт.
ответить
Re: Re: Data Science
> все эти "библиотеки для питона" на Си написаны
Вернее, на C, C++, Fortran и CUDA. Но только критичные к производительности части, которых не так много, остальное питончик.
Кстати, до PyTorch был Torch7, почти то же самое, но для Lua. Потом большие дяди из Facebook решили переписать его для питона, попутно сам Torch7 благополучно сдох (в смысле, не развивается и не поддерживается).
ответить
Re: Data Science
Интересно, кстати — не отследил такой момент: этот Lua успел отрастить собственную экосистему или вовремя на обочину съехал?
ответить
Re: Re: Data Science
Смотря что считать экосистемой. Библиотек для него много, если речь об этом.
И смотря что считать съезжанием на обочину, как встроенный язык он широко используется, особенно в геймдеве.
ответить
Re: Data Science
На мой взгляд экосистема начинается с попытки как-то автоматизировать разруливание зависимостей между библиотеками. У питона и перла это точно есть, про остальную скриптуху достоверно не знаю.
А что Lua вполне себе живой — это я знаю, под съездом на обочину я понимаю, ну, скажем, выход из гонки за позицию во главе мейнстрима.
ответить
Re: Re: Data Science
В таком случае экосистема у него есть. Хотя в этом смысле она, кажется, вообще у всего есть, включая чистый C. А вот как у него с вовлечённостью публики в эту экосистему (на экосистему C плевать практически всем, а JS без экосистемы трудно представить), понятия не имею. У тех библиотек, что у них в топе закачек, зависимостей либо нет, либо одна (редко), так что должно быть не сложно сделать вид, что никакой экосистемы нет.
ответить
Re: Data Science
Для случая чистого Си я не вижу даже намёков на экосистему. Пакетные менеджеры дистрибутивов Linux ориентированы явно не на чистый Си, плюс к тому я не видел, чтобы создатели библиотек сами их опакечивали под разные дистры; ничего другого для автоматического вытаскивания из интернета всех зависимостей любой отдельно взятой программы я пока что не видел. Не наблюдается также и попыток приписать имеющимся библиотеками какие-то глобальные идентификаторы.
ответить
Re: Re: Data Science
Lua успел отрастить собственную экосистему
Есть LuaRocks — пакетный менеджер для Lua-шных библиотек. Но, насколько я понимаю, он не прибит гвоздями к Lua, поскольку поддерживает как Lua, так и LuaJIT. Видимо, просто гадит в переменную LUA_PATH.
ответить
Re: Data Science
Дезертиры перед мейнстримом вообще ничем не брезгуют. Сначала Python и JavaScript, затем работа на Google или государство, участие в закручивании цифровых гаек, создании автопилотов, где ни вздохнуть, ни пёрнуть без проприетарного ПО от производителя, и так далее. И на всё один ответ: «Ну ачо такова?».
ответить
Re: Data Science
И чо это было?
Не, ладно, вроде мысли как мысли, только "дезертиры" тут при чём? Ну, там, конформисты, к примеру — это я бы понял
ответить
Re: Re: Data Science
Да, вы правы, термин не в ту степь.
ответить
Re: Data Science
Он не безальтернативен, просто его любят впаривать непрограммистам как язык, с которым они получат вожделенные результаты вычислений уже через полчаса после первого в их жизни осознания необходимости долгих расчётов на компьютере. Библиотек много, и среди них хватает и тех, которым питон не нужен для работы, просто у всех из них имеется интерфейс для питона, а для чего-то другого он есть не у всех библиотек (для некоторых можно написать самому) поэтому причин пользоваться чем-то, кроме питона, люди не видят, что и закрепляет этот язык в роли лигва франка.
ответить
Re: Re: Data Science
Да даже программистам (ну тем, кто, вроде как, намеревается ими стать). Лично мой препод в шараге говорил, что Питон позволяет новичкам не запариваться над синтаксическими конструкциями и сосредоточиться на решении задач, "изучении алгоритмов", т.е. на самом важном (по его мнению) для современного(!) разработчика.
ответить
Re: Data Science
Это вот питон скорее таким преподам позволяет ничего не делать и при этом считать (и всем кругом громко заявлять), что ОНО кого-то чему-то учит. Особенно в случаях, когда оно само ничего не умеет.
ответить
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 нет ряда важных вещей.
ответить
Re: Data Science
> если речь про студентов-непрограммистов
Если речь про студентов-непрограммистов, то не надо делать вид, что они могут программировать. Да, даже самые простейшие скриптики.
> Готовые программы [...] создают эффект "чёрного ящика"
По-вашему вся та конструкция с питоном посерёдке, которую вы тут предлагаете как альтернативу, НЕ создаёт эффект чёрного ящика? Для студентов-непрограммистов? Вы, пардон, что курите?
Я вам больше скажу, вместе с ощущением чёрного ящика у людей, не понимающих программирование, вот эти вот скриптики создают ещё ощущение непонятных заклинаний. Типа, вот надо произнести "абра-швабра-кадабра", и не просто так, а медленно и нараспев, и обязательно на третьем и шестом слоге кинуть через левое плечо щепотку порошка из сушёной жабы.
Хуже того, заклинания воспринимаются как нечто такое, что не просто непонятно, а не может быть понятно (ну, типа, ваще), и — чтоб уж до конца — и не должно быть понятно. Ну, типа, этот примус так работает.
А самое, конечно, поганое тут то, что если среди этих студентов, ктулху упаси, таки попадётся один или два с потенциалом понимания происходящего, то ваш замечательный практикум (или что там у вас) резко повысит для них вероятность пополнить ряды питономакак, которых и без них намного больше, чем мир может выдержать.
Ну и ещё один момент:
> во вводном курсе программирования вполне могут работать в IDE
Ценность любого учебного курса и иного учебного мероприятия, в котором используются IDE, отрицательна.
Засим не будете ли вы столь любезны избавить мой сайт от своего присутствия? Очевидно, что мне вас ни в чём не убедить, а свернуть вам шею, во-первых, технически затруднительно ввиду вашей анонимности, да и, во-вторых, уголовный кодекс не велит. Но деятельность подобных вам персонажей вредоносна настолько, что что-то однозначно с этим надо делать. И уж как минимум я не намерен вас терпеть на своей территории.
ответить
Re: Re: Data Science
Меня самого учили на IDE, в школе TurboPascal, в универе PascalABC и MS VC 6.0 / Borland C++ Builder на выбор. Какое-то время у меня было такое ощущение, что для работы с каким-то языком программирования обязательно нужно ставить среду именно под него. Но как-то вот с переходом на GNU/Linux, где ни MSVC ни BC++ нету, перешел на просто запуск GCC из консоли и текстовый редактор, и вроде никак меня это особенно не испортило.
Это я не к тому, что прямо опровергаю ваши слова, но обучение программированию на IDE как минимум не смертельно. Хотя припоминаю, что я например не понимал, что такое компиляция, думал что это просто проверка программы на синтаксические ошибки, без её запуска.
ответить
Re: Re: Re: Data Science
Конечно, не смертельно, я вон вообще начинал с бейсика с нумерованными строками, и ничего, живой. Проблема в том, что вот это вот
я например не понимал, что такое компиляция, думал что это просто проверка программы на синтаксические ошибки, без её запуска
— эффект весьма типичный, я много раз такое видел. И в целом IDE скрывает именно то, что нужно понимать в первую очередь. А насколько это всё "смертельно" или, напротив, легко преодолимо — зависит от способностей конкретного обучаемого, кому-то пофигу, всё равно прорвётся, а у кого-то картина мира так и останется кривой.
Если, скажем, некая смертельная болезнь убивает не всех — она от этого не перестаёт быть ни смертельной, ни тем более болезнью.
ответить
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. Но про него я помню ещё меньше.
ответить
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
ответить
Re: Re: Re: Re: Re: Re: Data Science
Наверное я путаю с QBasic / QuickBasic который тоже был синим окошком под DOS, вот который был в комплекте MS-DOS не умел exe-файлы создавать, а который был отдельный "продукт" умел.
ответить
Re: Data Science
Тут ничего сказать не могу, на IBM-совместимых машинах я на бейсике не писал.
ответить
Re: Re: Re: Re: Re: Re: Re: Data Science
Это два разных продукта были. QBasic начиная с MS DOS 5 входил в состав системы, заменив gw-basic. Собственно, появилась IDE, но остался интерпретатор.
А вот QuickBasic — это коммерческий компилятор бейсика от Майкрософт. Продавался отдельно. Создавал .exe.
Вообще, кажется, это была принципиальная позиция, компиляторов в составе ДОС не было. Видимо, чтобы продавать их отдельно. Системный линкер, кстати, при этом был. Только почему-то все (ну, по крайней мере, все известные мне) компиляторы либо таскали редактор связей с собой, либо компилятор и линкер были в одном файле (как тот же TurboPascal).
ответить
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 исключили.
ответить
Re: Re: Data Science LINK.EXE
> отформатированные на 160 KB
Точно не на 180? Я, по правде, ничего меньше 360 не застал, но было такое ощущение, что 180 — это ровно половина (то ли там сторона была одна, то ли дорожки вдвое реже шли, не знаю).
ответить
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 секторов...
ответить
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 с флоповодом, но без винта).
ответить
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.
ответить
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 не дорастёт, но это было потом.
ответить
Re: Re: Turbo Pascal
очень странно, такую RTL пятая версия точно за собой не таскала. Не поленился, в досбоксе установил 5.5 (из ссылки выше) и написал "hello, world". 1904 байта. Если crt подключить (ClrScr сделать), то 3488 байт.
Отдельные умельцы на нём даже вирусы писали, а вирус в те времена должен был быть маленьким :) Видел пару экземпляров.
Похожие размеры были, если подключить TurboVision (и, кстати, да, там было именно так, как вы пишите: большая программа не сильно увеличивала размер экзешника по сравнению с минимальным), а библиотека эта появилась только в шестой версии.
ответить
Re: Turbo Pascal
Да, странно. Воспоминания у меня довольно яркие и вполне ясные, несмотря на 30+ прошедших лет. Но доверять своей памяти, как мы знаем, без объективной аудио-видео-фиксации вообще-то нельзя.
Вообще немножко поскрипел мозгами и подумал, а не мог ли это быть gw-бейсик? :-)
ответить
Re: Re: Turbo Pascal
> Вообще немножко поскрипел мозгами и подумал, а не мог ли это быть gw-бейсик? :-)
неа, он не компилятор, вернее, если правильно помню, он таки преобразовывал программу в какой-то байт-код, но исполнимых файлов не выдавал.
Если уж о бейсиках, то, кажется TurboBasic (ага, был такой, к счастью быстро помер), делал именно так.
ответить
Re: Turbo Pascal
$49.95![](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2023/11/2021-11-11-David-I-in-my-home-office-4884549-scaled.jpg?resize=450%2C336)
Сейчас без регистрации и 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
ответить
Gnu Octave
А с каких это пор Gnu Octave, предназначенное сугубо для расчётов/мат моделирования, стали ставить на одну полку с пытончегом? Да, что там есть свои приколы, но это именно Domain Specific Language, который никто никогда за универсальный язык выдавать и не пытался.
ответить
Re: Gnu Octave
DSL — это хорошо и правильно, в том смысле что у меня против специфичного языка могут возникнуть возражения только в случае, если он отрастит себе библиотечную инфраструктуру, и никак не раньше.
Но в контексте коммента, на который вы отвечаете, это, как ни странно, не так важно. Важно ровно одно: непрограммисты программировать не могут. Ни на чём и никогда. Это известно со времён Кобола и раз за разом подтверждается всякими автокадами, 1С-ками и прочим ожиревшим софтом, содержащим в себе DSL. Чтобы программировать, нужен программист, и если программировать предлагается под 1С, бухгалтер этого делать всё равно не будет, просто появится отдельная сущность "1С-программист".
Попытки устроить какое-то там "программирование для непрограммистов" — это в лучшем случае самообман, когда никто ничего не понимает, но препод этого предпочитает не замечать и всем всё в итоге ставит; а в худшем случае — это получается вредительство, порча, пардон за цинизм, человеческого материала.
ответить
Re: Re: Re: Data Science
> решать простейшие задачи, и студенты не всегда понимают, что такое текущий каталог, переменная среды, не знают командной строки и т.п.
Звучит примерно как учить управлению самолётом в воздухе, но не учить взлетать и садиться, а так же пользоваться парашютом. Да и само управление самолётом свести к автопилоту.
ответить
Re: Data Science
Знаете, что тут самое страшное? Что "современные" (блядь) самолёты от компании Airbus реально можно поднять в воздух, протащить по маршруту и заставить благополучно сесть, не умея пилотировать самолёт, не касаясь ни сайдстика, ни РУДов, ни (упаси ктулху) педалей, педали там вообще трогать не рекомендуется, хотя они и есть. Естественно, если хоть что-то где-то пойдёт не так, финал будет немного предсказуем, но в стерильных погодных условиях и при полностью работающем оборудовании это возможно.
Нет, пилотов, конечно, учат летать. Больше того, многие пилоты айрбасов в свободное от работы время крутят всякий пилотаж на лёгкой мелочёвке, чтобы не забыть, кто они по профессии и в чём эта профессия заключается. Некоторые стараются взлетать и садиться вручную, чтоб не потерять квалификацию — это если правила авиакомпании не запрещают (а во многих компаниях так или иначе подобные запреты просачиваются).
Не знаю кто как, а я стараюсь на айрбасах не летать.
ответить
Re: Re: Data Science
Уже представляю курсы от AirBusFactory.
Ну и автопилот естественно голосовой, написан на питоне, работает под Windows XP.
>реально можно поднять в воздух, протащить по маршруту и заставить благополучно сесть, не умея пилотировать самолёт
А так не на всех? Были же случаи, когда стюардессы под командованием диспетчера самолет успешно сажали. (Да и просто подняться в воздух и лететь по прямой не то чтобы сложная задача)
ответить
Re: Data Science
> автопилот естественно голосовой, написан на питоне, работает под Windows XP
Ни к селу ни к городу вспомнилось, что "интерфейс управления" кораблём Dragon Crew от Илона свет Маска мало того, что состоит из двух больших тачскринов — оно ещё и написано на электроне.
Управление космическим кораблём. На электроне. Прости, Юра, мы (в данном случае чел-овечество целиком) всё просрали.
> А так не на всех?
Боинг вроде взлетать сам не умеет. И вообще там штурвал, а не сайдстик, т.е. боинги предполагают управление человеком, тогда как в айрбасах парадигма другая — там управляет робот, а человек ему может немножко помешать.
ответить
Re: Re: Data Science
Ввиду последних событий, на боингах тоже летать боязно. Кажется пора пересаживаться на поезда :)
ответить
Re: Data Science
Боинг хотя бы управляется людьми.
ответить
Re: Re: Re: Data Science
Помнится, я этим песням про идеальность питона для новичков в программировании даже поверил. Так вот, брехня это, что он позволяет думать о задаче, а не о синтаксисе. Сосредоточиться на задаче позволяют библиотеки, а не язык. А запариваться над синтаксическими конструкциями перестаёшь тогда, когда овладеваешь ими, и тут питон ничем не лучше C.
ответить
причина vs. повод
Как-то в конце девяностых мы (уже не помню точно, с кем) обсуждали, не кинуть ли оптический кабель с одной крыши на другую. На что один из участников обсуждения сказал, что на него обязательно ворона сядет. Остальные, разумеется, возразили, что какая нафиг ворона, никакая ворона оптический кабель не порвёт, особенно если его кидать, как положено, с несущим стальным тросиком. На что чел ухмыльнулся и напомнил, что бывает причина, а бывает повод, так что — ну, это просто будет очень большая и тяжёлая ворона.
Sapienti sat.
ответить
Сократ мне друг, но истина дороже
Но Питон же и славится кучей библиотек на каждый чих? И в особенности, "простой" установкой библиотек на комп (на виндовый, на юниксах установить библиотеку на си и на питоне - одинаковой сложности задача)
Причем у питонистов есть глобальный репозиторий всех этих пакетов (PyPI), и вот в нем 560 084 проекта. Полмиллиона.
Проблема у Питона явно не в отсутствии библиотек
ответить
Re: Сократ мне друг, но истина дороже
Вот уж точно не в отсутствии. Проблема питона скорее в их наличии.
ответить
Re: Сократ мне друг, но истина дороже
> на юниксах установить библиотеку на си и на питоне - одинаковой сложности задача
Вас обманули, pip работает одинаково и на винде, и на маке, и на линухе, и входит в стандартную поставку питона во всех популярных дистрах. Насчёт BSD не знаю, ставить ради такой чепухи лень, а юзеров её вживую не встречал.
ответить
Re: Сократ мне друг, но истина дороже
Ага, только с версиями постоянно хрень какая-то, и эта хрень совершенно неизбежна, когда в принципе присутствует граф зависимостей. Слушайте, завязывайте с демагогией. Я не так давно пытался заполучить возможность работать с биткойнами, так вот ни один из кошельков мне запустить не удалось, причины были разные, но точно помню, что одному из них требовалась версия питона на несколько единичек новее, чем есть в моём дистре. Всё, точка, все свободны.
Это не говоря уже о том, что любой автор библиотеки в такой "экосистеме" получает возможность единовременно подчинить себе все экземпляры всех программ, зависящих от его библиотеки. Это, кстати, понятно или тоже разжёвывать надо?
ответить
Re: Re: Сократ мне друг, но истина дороже
Не понял опровержения. Я говорю, что на Линуксе и Винде pip работает одинаково просто, перечитайте сообщение
ответить
Re: истина дороже
> Насчёт BSD не знаю, ставить ради такой чепухи лень, а юзеров её вживую не встречал.
Вам будет сложно поставить систему (или встретить её юзеров), последний релиз которой состоялся аж в конце прошлого века: https://en.wikipedia.org/wiki/Berkeley_Software_Distribution
Пользователей же систем OpenBSD, FreeBSD или даже, кажется, NetBSD можно встретить и в этой гостевой книге, далеко ходить, как говорится, не надо. (Минутка просвещения для тех, кто не в курсе: в отличие от "дистрибутивов" линукса, перечисленные системы семейства BSD -- это разные операционные системы.)
Во всех этих системах питоновский pip есть, да. Ставить эти системы чтобы проверить наличие у них в портах этой самой пипы тоже, кстати, не нужно. Я вполне смог проверить этот факт не устанавливая ни FreeBSD, ни NetBSD.
Ну и, вообще говоря, если бы вы внимательно прочитали сообщение Parthen, на которое вы отвечаете, то увидели бы, что он нигде не утверждал сложность установки этой пипы ни на винде, ни в какой-либо юниксоподобной системе.
ответить
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
Безработица в IT
Тут относительно недавно обсуждалась тема безработицы в IT - кто-то рассказывал про какого-то чувака, который пропагандистскую статью на эту тему написал.
Я новичок, который оценить ситуацию достоверно не может, но мне разные высказанные мнения показались интересными и это отложилось у меня в памяти. И тут вдруг вчера мне целый сайт попался, на котором целая куча таких статей и комментов от разных людей, но точно не пропагандистских - без указания конкретной страны. Мол, работы мало, работать тяжелее и тяжелее, зарплаты падают, зад от всего этого болит.
Так вот, там в числе ключевых причин сложности работы и её поиска авторами очень часто указывается, что весь накопленный багаж знаний за промежуток в примерно пять лет настолько безнадежно устаревает, что всё чуть ли не заново учить надо, чтобы составлять молодым конкуренцию.
Я и раньше осваивал "Введение в профессию" исключительно "для души", без целей и мечт зарабатывать на программировании, но теперь мне ещё меньше хочется пробовать коммерческую деятельность. Лицо себе представили этого человека, у которого его рабочий инструмент за несколько лет меняется настолько, что человек этот перестает быть специалистом?
И ещё как-то на ютубе ролик попался, где какой-то джавист рассказывал, что в его компании на джаве так интересно пишут, что при переходе в другую компанию с другими джава-фреймворками человек иногда оказывается не способен работать. (Как это возможно - я без понятия, ни строчки на джаве не написал и не собираюсь.)
Что я сказать-то хотел? Ничего особенного - просто писец какой-то в этом вашем айти происходит. Похоже, я скоро укреплюсь во мнении, что большинство направлений и большинство вакансий и пробовать не стоит и вообще лучше зарабатывать деньги в местах без риска с ума сойти. И к концу трёхтомника так и буду продолжать писать только программы, интересные мне лично.
ответить
Re: Безработица в IT
Можете не беспокоиться, всё то, что в трёхтомнике изложено, устареванию не подвергается. Вот это вот ваше "накопленный багаж знаний за промежуток в примерно пять лет настолько безнадежно устаревает, что всё чуть ли не заново учить надо" происходит, когда в "багаже знаний" вообще-то нет никаких знаний, есть только сиюминутное умение работать с теми самыми фреймворками, которые сегодня те, завтра эти, послезавтра совсем другие — фреймворк-то слепить дурное дело нехитрое, вот их и лепят ежеминутно "новые".
Вообще я тут на сайте много раз повторял: пойдёте в веб-разработку — всё, с мозгами можете распроститься. Там под этими фреймворками не видно не только сути, но и вообще того факта, что где-то под ними есть что-то ещё. Но для человека, обладающего знаниями, вся эта поверхностная "фреймворковая" рябь воспринимается как нечто второстепенное, обезьяньи поделья приходят и уходят, суть остаётся. Тогда как для персонажей, ничего кроме этой ряби не видящих, мир превращается в нечто полностью лишённое стабильности. И да, таких нынче намного больше, нежели серьёзных людей, они же ещё себя и программистами считают, хотя из них программисты — как из меня балерина.
Но вот заключительная мысль у вас, я бы сказал, очень здравая:
так и буду продолжать писать только программы, интересные мне лично.
Если следовать этому принципу, то с неплохой вероятностью вам рано или поздно предложат и работу, интересную вам лично, и прилагающиеся к ней дивиденды. Оно само придёт. Главное — не дёргаться и не бежать судорожно в каком-то направлении лишь только потому, что в этом направлении только что промчалось стадо обезьян.
ответить
Re: Re: Безработица в IT
> Главное — не дёргаться и не бежать судорожно в каком-то направлении
Что в это время есть? Где брать деньги на базовые потребности?
Как бы вы не ругали Python/JS это те языки на которых можно зработать себе на хлеб. С Golang уже сложней. С Си - практически не реально с 0, надо лет 5 где-то практиковаться.
ответить
Re: Re: Re: Безработица в IT
Так а зачем такие сложности? Питон какой-то, жабаскрипт, слова мудрёные, компьютеры ещё какие-то, иди в ларёк торгуй шаурмой, без куска хлеба не останешься.
И вон с моего сайта, вот тут какое слово непонятно, мразь?
Что особенно занятно, ведь это чмо наверняка считает, что оно тоже программист. Собственно, по-видимому вот такие вот и пишут, что "в айти" возникли какие-то трудности с работой и зарплатой. Ну, у такого уровня "специалистов" они не возникнуть и не могли, потому что это как раз доступно всему тому планктону, которое хочет зарплату получать как программист, а учиться как программист (да, безусловно, если с нуля — лет пять до чего-то осмысленного, лет десять до чего-то стоящего) почему-то не хочет. Так что внутри этого слоя "якобы-программистов" конкуренция будет расти, пока зарплаты не сравняются с получками третьесортных офисных клерков, после чего будет достигнут гомеостаз.
Тех программистов, которые программисты, а не вебоскриптомакаки, это всё не касается примерно никак.
ответить
Re: Re: Re: Re: Безработица в IT
>иди в ларёк торгуй шаурмой, без куска хлеба не останешься.
This, but unironically
Обучающийся программированию вполне может где-то подрабатывать (лишь бы не мозгами), а по вечерам сидеть программировать.
Есть вообще работы, где надо просто подолгу сидеть за компом, изредка что-то делая: администратор в компьютерном клубе, например. Денег так много не заработать, но на покушать хватит. (Я в миллионике получал 2к рублей за смену. Если работать официально и по графику, можно и сильно побольше)
А попытки войти-вайти через питон аукнутся лет в 30-40. Когда ты понимаешь, что твоя оставшиеся жизнь - это формошлепство и постоянные попытки выучить расположение новых формочек, без понимания сути - выгорание придет быстрое и сильное.
ответить
Re: Re: Re: Re: Безработица в IT
Я не очень внимательно наблюдал за рынком вакансий, но почему-то у меня есть неприятное ощущение, что вот эти все элементы, подобные тому, кого вы сейчас с сайта прогнали - уже победили. Бизнес как будто почему-то реально всё больше и больше пересаживается на все эти странные вещи - джавы, сишарпы, питоны и всё остальное.
Желания работать на эти бизнесы никогда не было. И вообще программирование чисто для себя интересует намного больше. А та работа, которая на нормальных языках и выглядит нормально - это ж космос какой-то для меня. Иногда в прямом смысле. Ракеты, микроконтроллеры, роботы, прочая сложная промышленность, какая-то высокая наука. Выглядит классно, и понятно, почему там конкуренции не слишком много.
Я в связи с этим уже на себе предварительно крест поставил. Я начал совсем недавно, успел написать только жалкое подобие консольного текстового редактора, змейку и ещё пару простеньких игрушек - скорее даже не игрушек, а забавных управляемых с клавиатуры визуальных эффектов. И мне каждая из эти программ далась с тяжким трудом, куда уж мне вся эта высокая ракетная наука. Собираюсь писать тетрис и уже заранее кажется, что на качественную реализацию целая неделя уйдет с моими не слишком талантливыми мозгами.
В общем, кажется мне, вероятность найти нормальную работу у меня совсем невысокая. Впрочем, меня это совершенно не расстраивает. И, впрочем, пока я новичок - ни в одном своем утверждении, которое я в этом комментарии написал, я не уверен.
ответить
Re: Безработица в IT
> вот эти все элементы, подобные тому, кого вы сейчас с сайта прогнали - уже победили
Даже интересно, в чём, по-вашему, состоит их победа. Вы что, думаете, что вакансий для нормальных программистов стало меньше? Ну так нет, их стало больше. Просто на общем фоне вот этих вот немеряных толп бессмысленных мартышек создаётся ощущение, что кругом только одни мартышки и есть.
> Я в связи с этим уже на себе предварительно крест поставил. Я начал совсем недавно
Честно говоря, ощущение такое, что из-за вот этого вот креста, который вы на себе якобы поставили, ваши шансы на нормальную работу ещё и увеличиваются. Хотя бы даже потому, что вы вряд ли станете дёргаться из-за её отсутствия, а это тоже важно.
ответить
Re: Re: Безработица в IT
> даже интересно, в чем их победа
Ну, победа - это я так условно выразился. Имелся в виду захват рынка или доминирование их взглядов на профессиональную деятельность над всеми другими взглядами.
Мне с моим не слишком широким кругозором кажется, что они вытеснят нормальные технологии отовсюду, откуда только можно будет, чтобы всей этой орде жить было проще. Слышал, например, мнение знакомого вебщика, что, дескать, хорошо бы все возможные прикладные программы перенести в браузер, и будет во всем свете Идеальная Совместимость Всего Со Всем. И вот есть ощущение, что они однажды добьются захвата всего рынка или победы какой-нибудь такой совершенно восхитительной идеи; "имя им легион, потому что их много", и писать программы им на своих этих веб-технологиях, растущих друг из друга как гидры, проще. Надеюсь, конечно, что я дурачок и что все эти мои ощущения не сбудутся.
А крест я на себе поставил не якобы, а прямо-таки; ну, то есть, я не думаю, что надежды совсем нет - и медведи на велосипедах кататься учатся. Просто думаю, что мне лет эдак десять понадобится с полного нуля до момента профпригодности, а там уж, может, все это мне уже и не понадобится. Это мне уже тридцать пять будет - а там я, может, предпочту в лесу жить без электричества :-D
ответить
Re: Re: Re: Безработица в IT
Ну так вы завязывайте с такой мразью общаться, и ощущение от окружающего мира нормализуется.
NB: что вебщик может быть чем-то отличным от мрази, меня не убедит никто, никогда и никак.
ответить
Re: Re: Re: Re: Безработица в IT
Кстати, а как отличить настоящую мразь от человека, который просто не понимает, что творит? Или там никакой существенной разницы в принципе нет?
ответить
Re: Безработица в IT
Зависит от используемой терминологии. Ну и вообще от применяемой парадигмы, если можно так выразиться. Я вот, например, не считаю, что всевозможная "невменяемость", "состояние аффекта" и прочее в таком духе должно освобождать от ответственности, даже частично. Вынужден признать, что господствующая парадигма противоположна.
ответить
Re: Re: Безработица в IT
Стоит ли ждать ролик на infoviolence на эту тему?
ответить
Re: Re: Re: Безработица в IT
Конкретно на эту — нет. Смежные, возможно, будут затрагиваться.
ответить
Re: Re: Re: Re: Безработица в IT
Однако, они уже повсеместно проникли в систему образования, окопались там, пустили корни.
ответить
Re: Безработица в IT
Не переоценивайте все эти потуги "системы образования" якобы "делать новых программистов". В действительности программистов нигде не делают, поскольку это невозможно. Человек может либо сам стать программистом, либо не стать.
А в системе образования, знаете ли, много всякого пустило корни.
ответить
Re: Re: Re: Re: Безработица в IT
Выше человек писал, что 35 уже много для профпригодности; а я вот в 35 лет начал заниматься программированием, я вот испугался, не поздно ли я начал?!
ответить
Re: Безработица в IT
Будет тяжело, но ничего невозможного нет — я видел людей, начинавших ещё позже и успешно преодолевших все трудности.
ответить
Re: Re: Re: Re: Re: Безработица в IT
Эй, я такого не писал - я написал, что, может, в тридцать пять лично меня от всех компьютеров на свете затошнит :-)
А у вас, конечно, все вполне может быть впереди. Единственное, что мне пока не удалось повидать - это как кто-то высшую математику после 35 с около-нуля учить начинает. И то, наверное, это возможно - просто лично я такого не слышал.
ответить
Re: Безработица в IT
Не знаю, возможно ли начать изучать высшую математику после тридцати пяти и чтобы что-то получилось. Утверждать, что это принципиально невозможно, не буду. Но вот лично в меня уже после тридцати никакие новые (и даже не так чтобы новые, просто такие, которые я когда-то недопонял) разделы математики не лезли. Это при том, что на тот момент в анамнезе у меня было и профильное в/о, и степень.
ответить
Re: Re: Безработица в IT
А какие разделы математики вы недопоняли, если не секрет?
ответить
Re: Re: Re: Безработица в IT
Недопонял я, подозреваю, много чего, а не полезли в меня (при попытке их таки грокнуть) теория групп и функциональный анализ. Не спрашивайте меня, почему именно эти два, просто я их пробовал, другие не пробовал.
ответить
Re: Re: Re: Re: Безработица в IT
Любопытно, я тоже не так давно теорию групп разобрать пытался из любопытства (из студенческого возраста я уже вышел). Есть книжка Алексеева "Теорема Абеля в задачах и решениях", в которой для доказательства этой самой теоремы Абеля (о том, что алгебраические уравнения степени 5 и выше в общем случае неразрешимы в радикалах) надо разобрать теорию групп (или часть теории), для чего автор предлагает набор задач, решая которые, можно погружаться все больше и больше, и в итоге прийти к доказательству теоремы.
Поначалу это все было очень интересно и занятно, но в итоге я сдулся, терпения не хватило - задачек там навалом.
Мне кажется, что возраст, безусловно, влияет на возможность обучения математике, но не думаю, что это влияние всегда обусловлено мозговыми способностями (я от разных людей слышал, что после 30 способности к обучению начинают потихоньку таять). Возможно, в зрелом возрасте просто появляется больше посторонних забот. А без терпения хорошо понять математику не получится.
ответить
Алгебра
У классика немецкой математической педагогики Ф.Клейна есть цикл лекций об икосаэдре и решении уравнений 5-й степени
ответить
Re: Алгебра
И что?
ответить
Re: Безработица в IT
Может тут уже дело в мотивации. Да и не у всех, возможно, в таком возрасте найдется достаточно времени на изучение.
ответить
Re: Безработица в IT
У меня мотивация влезть в функан была более чем серьёзная: квалификации мне как раз тик в тик хватает, чтобы понять, насколько это красиво и что я потерял, не сумев в эту дисциплину проникнуть, но вот взять и грокнуть — уже не хватает.
ответить
Re: Re: Re: Безработица в IT
> вытеснят нормальные технологии отовсюду, откуда только можно будет
У нас в универе один промышленный гигант сделал что-то типа собственной кафедры допобразования. Я у них сидел (слово "учился" не подойдёт) на этаком "пробном семестре", и одна вещь меня очень сильно удивила: оказывается, показания датчиков с промышленного оборудования у них стекаются прямиком в веб-приложения, а телеграм-бот это, дескать, хороший, годный кандидат на роль основного, а то и единственного интерфейса для мониторинга процессов выплавки металла или чего-то подобного.
ответить
Re: Безработица в IT
В 1999, если мне склероз не изменяет, году широко обсуждался обнаруженный факт построения внутреннего (!) документооборота банка (!) на основе ICQ. Есличо, она тогда ещё не принадлежала mail.ru. Т.е. ходила через сервера в Америке (вроде уже не в Израиле, я датировку не помню и не хочу сейчас восстанавливать). И шифрования в себе не содержала (я не знаю, появилось ли там позже шифрование или она так до своей бесславной кончины и жила на plain text'е, но на ранних этапах там точно всё в отрытую ходило).
Ну то есть сотрудники банка, сидящие в одной комнате, друг дружке пересылали сугубо внутренние сообщения — через весь мир открытым текстом.
Ей-богу, дебилизмом уже поздно кого-то удивлять. Да, кругом дебилы. Да, давно. Да, везде.
ответить
Непрошенно влезу
>Бизнес как будто почему-то реально всё больше и больше пересаживается на все эти странные вещи - джавы, сишарпы, питоны и всё остальное.
Я не буду вдаваться в политику, но стоит понять одно - корпорации, государства и прочие коллективы без нас (индивидов) ничего сделать не могут. И все их Питончики и Джавы написаны на Си, и без нас они их просто не смогут их обслуживать.
>И мне каждая из эти программ далась с тяжким трудом
Главное, что вам это нравится. Я, помнится, в указатели полгода долбился, а сейчас смотришь: пфф, фигня какая.
ответить
☞ From Дмитрий (unverified) Thu Aug 1 07:55:19 2024
Взрослею. Все больше соглашаюсь с Вами.
Пересмотрел ваше интервью Бороде. Удивился насколько больше стал с Вами согласен.
ответить
Re: Взрослею. Все больше соглашаюсь с Вами.
Что-то вы быстро, прошло-то всего три года. Ну хотя трудно поверить, что всего три года.
ответить
Re: Взрослею. Все больше соглашаюсь с Вами.
Смешное было интервью. Борода как олицетворение вкатыша вызывал смешанные чувства, на фоне чего стойкость владельца данного ресурса вызывает почтение. С другой стороны, только с подачи этого интервью узнал об авторе, а так же его книгах и позиции, которые помогли не потеряться посреди этого ойти-безумия.
ответить
Re: Взрослею. Все больше соглашаюсь с Вами.
Да ладно, Борода как раз своё мироощущение довольно внятно спрятал. Ну, что-то там прорывалось, конечно, но это ещё заметить надо. Собственно, он мне как раз тем и понравился в роли интревьюера, что у него получается демонстрировать гостя, а не себя на фоне гостя.
ответить
Re: Re: Взрослею. Все больше соглашаюсь с Вами
Только с подачи этого интервью узнал об АйТиБороде. Действительно, и интервьюер хороший, примечательный, и темы интересные. Но честно говоря, я только два выпуска у него посмотрел более-менее полностью: собственно сабжевое и ещё раз его же, но уже спустя три года. :)
ответить
☞ From + (unverified) Tue Jul 30 18:34:45 2024
Передача файлов в jabberd2
Здравствуйте, Андрей Викторович. В интервью вы как-то говорили, что раскуривали сервер jabberd2. Подскажите пожалуйста, делали ли вы там передачу файлов? И если да, то каким образом это было сделано? Есть необходимость в организации jabber-сервера под owl. Думаю вы знаете о ejabberd. Там есть mod_file_transfer, но ничего похожего в конфигурации c2s.xml из документации jabberd2 мне найти не удалось.
ответить
Re: Передача файлов в jabberd2
Нет, передачу файлов я там не настраивал, и вообще это пятнадцать лет назад было, уже давно ничего не помню. Зато помню, как угробил прорву времени на попытки скомпилировать Erlang для этого самого ejabberd. Это было одно из множества событий, которые суммарно сформировали моё нынешнее отношение ко всевозможным "альтернативным" парадигмам.
ответить
☞ From Anonymous (unverified) Sun Jul 28 04:16:52 2024
Компьютеры Аполлонов
А интересная идея была. Цифровой сегментный дисплей позволял довольно полноценно управлять компьютером, который в свою очередь не был просто отдельным компьютером, а был подключен к двигателям, телескопам, секстантам.
Команды вводились с помощью двухцифрового Verb и двухцифрового Noun, все в стиле "сделать что-то с чем-то", например установить угол телескопа. Заметье, всё это без всяких пиксельных или даже векторных дисплеев, и можно было полноценно пользоваться, просто на сегментных дисплеях как на старых калькуляторах.
Интересно, где-то на Земле такой интерфейс управления компьютером применялся?
Видео на английском: http://infoviolence.org/ytid.cgi/ndvmFlg1WmE
Перевод на русский: http://infoviolence.org/ytid.cgi/vAaBnOsjNlc
ответить
☞ From Oliver (unverified) Sat Jul 27 11:00:01 2024
Отображаение содержимого файла в память
Добрый день, Андрей Викторович! Во второй части книги на странице 335 приведен фрагмент кода, который отображает содержимое некоего файла в память. В коде имеется переменная int size = 4096. Данная переменная хранит размер отображаемого файла в байтах?
ответить
Re: Отображаение содержимого файла в память
Не сразу понял, о каком фрагменте идёт речь, поскольку вторая там не часть, а том (а часть — пятая).
Нет, это не размер файла, это размер отображаемой области. А самый последний параметр (в примере он равен нулю) указывает, с какого места файла эта область должна начинаться.
ответить
Re: Re: Отображаение содержимого файла в память
> Не сразу понял, о каком фрагменте идёт речь
Читаю свой комментарий, и удивляюсь, насколько неточно можно выразиться. Приношу свои извинения!
Я понимаю назначение переменной size, я имел в виду ее начальное значение, которое равно 4096. Хотел понять, что означает это конкретное число.
ответить
Re: Отображаение содержимого файла в память
Строго говоря, оно означачает само себя, 2 в 12 степени, известное также (в применении к памяти) как 4KB :-) Почему именно такое? Потому что страницы виртуальной памяти чаще всего такие, это если говорить о том, почему я именно такое число выбрал. Но фрагмент написан так, что там можно подставить любое число, лишь бы больше нуля и не слишком большое (я, кстати, не пробовал делать отображения размером больше, чем сам файл; хотите — попробуйте сами).
ответить
☞ From Sergei (unverified) Tue Jul 23 13:53:37 2024
Система "Антиплагиат" в ВУЗах
Как вы относитесь к системе "Антиплагиат" в ВУЗах? Вы сталкивались, что научрук, без ведома написавшего какую-либо работу (диплом, например), прогоняет её через систему "Антиплагиат", в т.ч. не только вузовскую, но и не понятно какую на просторах Интернета? Является ли это насилие законным? (для меня это насилие по отношению ко мне). Как вы считаете, нужны ли такие системы? Если вы согласны, что они нужны, то поделитесь вашим вИдением организации процесса предотвращения плагиата. А может диплом и подобное вообще не нужно?
ответить
Re: Система "Антиплагиат" в ВУЗах
Несомненно, прогонять работы через антиплагиат нужно и необходимо, а студентов, которые уличены в плагиате, следует немедленно отчислять без возможности восстановления; больше того, должна быть глобальная база данных по таким отчисленным, чтобы больше ни в какой ВУЗ такую мразь не взяли. Скажу ещё больше: таких руководителей, которые не заботятся об оригинальности квалификационных работ студентов, надо увольнять с волчьим билетом.
А лично к вам будет предложение свалить отсюда и больше не возвращаться. Крайне серьёзное.
ответить
Re: Re: Система "Антиплагиат" в ВУЗах
Андрей Викторович, интересно узнать ваше видение проблемы сгенерированных нейросетью дипломов. Антиплагиатом, ясное дело, такое определить невозможно. В этом году они добавили некие проверки, но работают они очень криво и никто на результаты таких проверок не смотрит (и правильно делают, у меня страниц 10 забраковали, хотя писал я всё честно).
Конечно, если научрук действительно работал со студентом, ему, скорее всего, очевидно будет, что студент текст сгенерировал, но далеко не все научруки ответственно подходят к своей работе. Находишь формального науча, генерируешь диплом, вообще ничего не зная и не понимая, и успешно защищаешься (с кандидатской вряд ли прокатит, но бакалавр-магистратура вполне, своими глазами такое видел).
ответить
Re: Re: Re: Система "Антиплагиат" в ВУЗах
> Конечно, если научрук действительно работал со студентом, ему, скорее всего, очевидно будет, что студент текст сгенерировал,
Вот именно.
> но далеко не все научруки ответственно подходят к своей работе
Проблема исключительно в этом. А как её решать и возможно ли это вообще — вопрос, который меня беспокоил, пока я ещё работал в этой системе, но сейчас, честно говоря, я предпочитаю считать, что это всё не мои проблемы.
Вот что я точно могу сказать — это что высшее образование не может быть массовым. Точнее, оно не может одновременно быть массовым и при этом не быть профанацией. То, что есть сейчас — это процентов на 97 именно профанация с конвейерами по производству обладателей "учёных степеней", которые при этом к реальной науке никакого отношения не имеют. Но возникновение таких конвейеров — лишь следствие "потребности" в большом количестве лекторов для (псевдо-)ВУЗов, большом настолько, что реальными учёными его и на считанные проценты не закрыть.
ответить
Re: Re: Система "Антиплагиат" в ВУЗах
Я не автор исходного коммента, но есть возражения:
1) А есть ли свободная, работающая на линуксе локально без доступа в инет система антиплагиат? Проприетарную использовать нельзя по тем же причинами, что любой другой проприетарный софт.
2) А есть ли гарантия, что срабатывание этой системы на работе студента означает, что там имеет место плагиат? Я очень сомневаюсь, что возможно написать компьютерную программу, обнаруживающую плагиат со 100% достоверностью без ложноположительных результатов.
3) Иногда в самой работе по своей сути будет значительный кусок, содержащий пересказ какой-то другой работы. Например моя первая курсовая работа была связана с написанием программы, решающей систему линейных уравнений методом Гаусса. Первая версия работы состояла из двух листов. Один лист титульный, второй — половина листа сама программа, вторая половина — дамп из терминала, доказывающий что она правильно работает.
Преподаватель такую работу почему-то не принял. Я посмотрел как сделано у одноклассника. У него там была вода на тему в каком году родился Гаусс, чем он знаменит, в чём заключается решение системы уравнений его методом и тд. Ну и ещё блок-схема.
Самое сложное для меня было — это блок-схема. Я и тогда не понимал и сейчас не понимаю, нафига она нужна, если я уже написал программу и она уже работает, а при написании мне проще формулировать алгоритм сразу в виде кода, а не в виде рисунка, но кое-как я её в каком-то графическом редакторе накорябал.
Но вот часть про то кто такой Гаусс и что у него за метод я просто скопировал у одноклассника. Может ещё пару косноязычных предложений подправил местами, не помню точно. А он скорее всего скопировал с какого-то интернет-сайта. Это плагиат? Наверное. Но я в упор не видел смысла вручную переписывать то же самое своими словами, да и мне никто не упоминал, что нужно своими словами. И что, меня за это надо было отчислить?
На втором курсе кстати в курсовой должна была быть программа на ассемблере, и из всей группы её написал только я. Остальные передрали, только заменив названия регистров. Тогда кого надо было отчислить? Всю группу?
Кстати, программу для метода Гаусса я тоже не совсем сам писал. Я нашел в инете программу на паскале и переписал её на QBasic, на котором требовалось сдавать на первом курсе (паскаль тоже был, но позже). Это был плагиат? Не знаю.
Кстати, что такое плагиат и чем он плох не объясняли ни на первых курсах университета (на каком-то курсе был предмет "основы интеллектуального права" или что-то вроде, но уже позже и там было бла-бла про "интеллектуальную собственность"), ни в школе. Так откуда мне было вообще знать, что скопировать половину курсовой у однокурсника - это что-то плохое?
На самом деле впервые я про отличия плагиата и нелицензионного копирования прочитал как раз в ваших статьях.
ответить
Re: Re: Re: Система "Антиплагиат" в ВУЗах
> 1) А есть ли свободная, работающая на линуксе локально без доступа в инет система антиплагиат?
Понятия не имею. Если нет — значит, надо сделать.
> 2) А есть ли гарантия, что срабатывание
Нет, но это и не нужно. Прежде чем принять решение о "гражданской казни", которое предлагаю я, следует, естественно, посмотреть глазами текст работы, проходившей проверку, и тексты, на которые "антиплагиат" показал как на являющиеся источником. И делать это надлежит не одному человеку, а нескольким, специально для этого назначенным. При таком чтении не останется никаких сомнений, имеют ли место реально содранные куски текста, при этом не закавыченные и не снабжённые ссылкой.
Роль систем "антиплагиат" в этом процессе — зажечь сигнальную лампочку и показать, куда смотреть.
> Например моя первая курсовая работа была связана с написанием программы, решающей систему линейных уравнений методом Гаусса.
СЛАУ методом Гаусса? Курсовая?! Дальше уже не интересно, тут разгонять нужно ваших "преподавателей". Скорее всего, весь ВУЗ закрывать.
> И что, меня за это надо было отчислить?
Несомненно. Вы выдали чужой текст за свой, причём сделали это сознательно. Но тут вопрос, что первично: сам факт существования ВУЗов, профанирующих высшее образование, или то, как в таких ВУЗах ведут себя студенты. Судя по СЛАУ Гауссом в качестве курсовой, для начала никто не должен был вас (и вообще никого) принимать в этот горе-ВУЗ и говорить при этом, что вам будут там давать высшее образование. Заведения такого уровня должны называться как максимум "колледжами", диплом после них должен быть о среднем специальном, и там не должно вообще быть курсовых и дипломных работ.
> На самом деле впервые я про отличия плагиата и нелицензионного копирования прочитал как раз в ваших статьях.
Ликбез на эту тему — вопрос важный, но это другой вопрос. Впрочем, взять откуда-то текст и заявить, что сам его написал — ну тут как минимум факт заведомого вранья вроде бы очевиден, не?
ответить
Re: Система "Антиплагиат" в ВУЗах
> СЛАУ методом Гаусса? Курсовая?!
На первом курсе в первом семестре, если что. То есть это когда проходят линейную последовательность операторов, ветвление, циклы и так далее. На самом деле сомнительная ценность, потому что это всё уже в школе проходили, только на паскале, а тут был почему-то BASIC. Но может и не все проходили, я-то учился в классе с углубленным чем-то там.
А какая по-вашему должна быть приблизительно тема курсовой в конце этого семестра?
> Несомненно. Вы выдали чужой текст за свой, причём сделали это сознательно.
Насчёт "сознательно" я не уверен. У меня не было осознания, что этот текст надо писать самому, и что он вообще нужен. Просто были какие-то требования к минимальному числу страниц, полям, шрифту, междустрочному интервалу и так далее. Если их выполняешь — уровень пройдён. Если нет — переделывай.
А вы думаете, студент должен сам писать даже вот такое, вроде когда родился и умер Гаусс, или допустимо скопипастить параграфы из какой-нибудь книги или статьи, дав на неё ссылку в списке литературы?
Кому какая польза от того, что студент своими словами перепишет биографию Гаусса?
> взять откуда-то текст и заявить, что сам его написал — ну тут как минимум факт заведомого вранья вроде бы очевиден, не?
Ну, я этого не говорил и никто не спрашивал. Можно возразить, что раз он есть в работе и не закавычен, то подразумевается, что я его сам писал, но я тогда об этом как-то вообще не думал. Если бы думал, наверное поставил бы ссылку на курсовую работу однокурсника. Интересно, как бы препод отреагировал?
------------
А что делать тогда со школьниками, которые списывают домашку с ГДЗ? Тоже сразу выгонять? Когда я учился в школе их ещё не было, но сейчас так вроде чуть ли не больше половины делают.
Кстати, что интересно, я как раз никогда не списывал в школе, но не потому что я это считал обманом, а потому что мне прямо очень сильно лень писать было и если я что-то делал/решал сам, то я всегда писал кратко, а другие одноклассники длиннее. Поэтому для меня было бы более мучительно списать, чем сделать самому. Да и ещё одноклассник мог и неправильно что-то решить, а перепроверять за ним ничуть не проще, чем решить самому.
ответить
Re: Re: Система "Антиплагиат" в ВУЗах
> На первом курсе в первом семестре, если что.
Час от часу не легче. Курсовая — это вид квалификационной работы, какая в задницу может быть квалификация на первом курсе? Ни на первом, ни на втором не должно быть ничего, называющегося "курсовая работа", первая курсовая должна выполняться, когда уже прошло распределение по кафедрам и спецсеминарам, назначены научные руководители и эти руководители успели сформулировать каждому студенту, каково у него будет направление исследовательской работы и про что (приблизительно) будет диплом.
Точно ваш ВУЗ разогнать надо к чертям.
> Но может и не все проходили,
Даже на первый курс ВМК МГУ большинство вчерашних абитуриентов приходит, не умея программировать вообще от слова совсем, так что тут не "может", тут "совершенно точно".
> А вы думаете
Я не "думаю", я точно знаю: любая квалификационная работа должна выполняться полностью самостоятельно, за любое отклонение от этого должна наступать секир-башка если и не в прямом смысле, то как минимум в виде полного исключения возможности получения диплома о в/о.
> Кому какая польза от того, что студент своими словами перепишет биографию Гаусса?
Начать тут надо с того, что нет и не может быть никакой пользы в таких якобы-квалификационных работах, где ради того, чтобы пустышка перестала выглядеть пустышкой, зачем-то приходится расписывать биографию Гаусса.
Но, с другой стороны, если по каким-то причинам (неважно, мало ли) какой-то текст, пусть даже это биография Гаусса, включён в квалификационную работу, то автором этого текста должен быть автор всей работы. В конце концов, даже просто умение писать тексты как таковое тоже является частью квалификации.
> наверное поставил бы ссылку на курсовую работу однокурсника
Вы понимаете вообще, что такое цитирование? Ссылка сама по себе извинением не является, правильное цитирование — это когда в тексте работы написано приблизительно так:
Т.е. цитируемый фрагмент, во-первых, оформлен как цитата, обрамлён кавычками и в зависимости от требований к оформлению может быть выделен шрифтом. Во-вторых, цитата органично вписана в общий текст, т.е. в основном тексте её роль (именно как цитаты) явным образом обозначена. И только в-третьих, таки да, ссылка, откуда взяли.
Если первых двух пунктов нет, т.е. просто кусок текста скопипизжен откуда-то, а потом по принципу "подавитесь" в список литературы включён источник, на который (скорее всего) в тексте работы даже нет ссылки как таковой (ссылка — это здесь вот это вот "[3]"), то плагиат останется плагиатом, а работа к тому же перестанет быть правильно оформленной, поскольку список литературы обязан состоять именно что из ссылок, а не из произвольно надёрганных библиографических данных от рандомных публикаций.
> я тогда об этом как-то вообще не думал
Это не имеет прямого отношения к делу. С таким же успехом какой-нибудь киллер мог бы заявить, что просто делал свою работу, а что это же вообще-то убийство — ну, он об этом как-то вообще не думал.
А вот опосредованное отношение, кстати, имеет. Если за каждый факт плагиата будет реально жёсткая секир-башка и вокруг будет до фига народу без диплома, жалующихся, что их "эти сволочи" за плагиат от образования отлучили — то вот таких "не думающих", подозреваю, не останется.
> А что делать тогда со школьниками
Понятия не имею. Что вообще делать со средней школой, где по факту не только выгнать (отчислить) нельзя, но даже двойку в четверти влепить? Я, честно говоря, не понимаю, как там вообще люди работают. И, главное, зачем.
ответить
Re: Re: Re: Система "Антиплагиат" в ВУЗах
> первая курсовая должна выполняться, когда уже прошло распределение по кафедрам и спецсеминарам
А может просто разное понимание курсовой работы? В моём случае по сути это была просто относительно большая (не хелло ворд и не сумма массива, а что-то чуть сложнее) программа, написание которой в конце семестра наряду со сдачей экзамена доказывало, что студент что-то из первого семестра усвоил, наряду с "лабораторными", где как раз были простейшие программы, которые можно было написать за час работы. Такие работы были по одному какому-нибудь предмету в конце каждого семестра.
На ВМК ничего подобного не было, пусть и под другим названием?
Никаких кафедр и спецсеминаров не припомню, кстати. Вот научного руководителя назначили, но это было уже на пятом курсе и после всех курсовых. Ну и дипломный проект ничем исследовательским тоже не был, просто какая-то программа, которая якобы была внедрена в какой-то организации, написанная соискателем. Ну программа-то и правда была, но что ей в организации хоть кто-то пользовался после ухода студента, у меня огромные сомнения. Руководитель ничем не помогал, кроме оформления дипломной работы, типа вот тут шрифт не тот и так далее.
> Вы понимаете вообще, что такое цитирование? Ссылка сама по себе извинением не является, правильное цитирование — это когда в тексте работы написано приблизительно так
Ну то есть примерно как в википедии? Ещё бы мне это кто-то объяснил вовремя, а не после того как я всё уже закончил.
> вокруг будет до фига народу без диплома, жалующихся, что их "эти сволочи" за плагиат от образования отлучили — то вот таких "не думающих", подозреваю, не останется.
Ну тогда это как-то плавно должно вводиться, а не так что в школе и на первых курсах все друг у друга списывали и ничего за это не было, а в курсовой вдруг внезапно максимально жестко.
ответить
Re: Система "Антиплагиат" в ВУЗах
> А может просто разное понимание
Разумеется, разное. Но исходное (и, соответственно, правильное) — это когда курсовую рассматривают как некую репетицию диплома, учат, в частности, правильно оформлять научную работу, те же ссылки правильно указывать.
Если "курсовая" превращается в подобие отчёта о сделанном задании, а само задание полностью лишено даже намёков на новизну — это уже вообще не "работа", это именно что отчёт. А ещё курсовая работа не может быть "по какому-то предмету", это должна быть именно самостоятельная исследовательская работа, выполненная под руководством научного руководителя.
> На ВМК ничего подобного не было, пусть и под другим названием?
На ВМК никогда (ну, во всяком случае в бытность мою там, т.е. с 1992 по 2022 г., но по-моему всё-таки именно никогда) не было ничего похожего на "лабораторные работы", поскольку таковые в применении к программированию бессмысленны. В каждом семестре, начиная с осени первого курса и заканчивая предпоследним семестром, есть отдельный предмет, который называется "практикум на ЭВМ" и заканчивается зачётом с оценкой (т.е. сдаётся в зачётную сессию, но ставится по нему не "зачёт/незачёт", а именно оценка — "отл", "хор", "уд" или "неуд"). Этот предмет иногда содержит написание мелких программ для тренировки, но в основном построен вокруг написания программ не так чтобы больших, но таких, которые ни за час, ни за день, а чаще и за неделю не сделаешь. И я никогда не слышал, чтобы кроме собственно программ, там требовали ещё какие-то отчёты.
Обычно практикум в текущем семестре делается в поддержку очередного программистского лекционного курса, но не всегда. Формально это совершенно разные предметы.
По некоторым лекционным курсам, особенно когда они без семинаров (на старших курсах такое, к сожалению, не редкость), иногда требуется написать программу и снабдить её письменным отчётом, но никто никогда не называет такие штуки "курсовыми работами", и никто никогда не требует туда засовывать биографию Гаусса и прочие подобные "затычки".
> Никаких кафедр и спецсеминаров не припомню, кстати.
Ух... точно по вашему ВУЗу разгонятор плачет. Впрочем, как и по большинству существующих ВУЗов. Я как-то поработал по совместительству пять лет в ВУЗе "третьего эшелона", вот там да, и лабораторки были, и на плагиат никто внимания не обращал, и вообще там в основном студенты делают вид, что учатся, преподы делают вид, что учат, на третьем курсе якобы-программистской специальности из 30 студентов хорошо если двое или трое могут массив пузырьком отсортировать, остальные не то что не могут, а скорее не понимают, что такое массив.
По специальности, к счастью, никто из выпускников не работает, и именно к счастью, потому что от таких "специалистов" вреда намного больше, чем пользы.
Вот кто бы мне сказал, зачем там, во-первых, эти студенты время теряют, как будто им просранные впустую годы жизни потом кто-то вернёт, а во-вторых, какого дьявола на это тратятся бюджетные деньги.
> Ну программа-то и правда была, но что ей в организации хоть кто-то пользовался после ухода студента, у меня огромные сомнения.
Правильные сомнения. Тут я вам такую вещь скажу, под моим руководством одних только дипломных работ, посвящённых библиотеке InteLib, было сделано несколько десятков, но в итоге только от двух, если не ошибаюсь, студентов остались хоть какие-то следы в коде самой библиотеки, ещё от одного осталась система Makefile'ов, которую, похоже, всё-таки придётся выпилить, потому что она получилась слишком замороченная. И ещё от двух есть дополнения (реализация на базе InteLib Рефала и Плэннера), которые в основную библиотеку я не включаю, поскольку поддерживать этот код не готов.
А это мало того что ВМК, это ещё и весьма отборные студенты, поскольку ко мне под руководство кто попало бы не пошёл, ибо не самоубийцы.
> Ну то есть примерно как в википедии?
Ну не совсем, мягко говоря. Во-первых, это не цитировать надо "как в википедии", это в Википедии правила цитирования такие же, как в научных работах (да и вообще в любых текстах).
Во-вторых, Википедия — это совершенно другой жанр. Для начала там запрещены (вот буквально запрещены правилами) оригинальные исследования, так что статья на Википедии — это не "работа" в научном смысле, а скорее некий реферат. Кроме того, там изначально подразумевается коллективное авторство, в самих статьях авторство не указывается, есть, конечно, история правок, но это ещё надо знать, куда лезть и зачем. Т.е. википедийная статья — это (по замыслу создателей Википедии) не авторская работа, а некий плод коллективного творчества, и даже не совсем творчества. Т.е., в отличие от научных (в том числе квалификационных) работ, где авторство имеет первостепенное значение, в Википедии авторство формально соблюдается (известно, кто что написал), но всячески подчёркивается, что это не так важно.
> Ну тогда это как-то плавно должно вводиться
Не думаю, что процедура такого рода может быть "плавной".
ответить
Re: Re: Система "Антиплагиат" в ВУЗах
> Не думаю, что процедура такого рода может быть "плавной".
Ну не должно быть так, что студент даже не знает такого слова "плагиат" и ему никто толком не рассказывал про правила цитирования и вдруг внезапно его резко отчисляют за нарушение этого самого, да ещё и без возможности восстановления.
Всё-таки тогда уж научный руководитель, если обнаружил нарушения в этом плане, должен их внятно объяснить, и так прямо и сказать "Всё где не стоит ссылка на источник и знак цитаты, должно быть написано тобой, это обязательное и очень важное требование, а коли не выполнишь, тогда тебя отчислят. Иди переделывай".
Да и вообще, коли это становится прямо настолько важным, может даже должен быть отдельный предмет на первом курсе про правила оформления научных работ с объяснением, почему правила именно такие, а не просто тупым заучиванием.
> Вот кто бы мне сказал, зачем там, во-первых, эти студенты время теряют
Так почти на всех вакансиях требуют, чтобы было высшее образование. Разве что кассиром можно без ВО устроиться. А ещё студентам никто не объясняет, что не все ВУЗы одинаково полезны и они искренне думают, что получают настоящее высшее образование как минимум до какого-нибудь третьего курса или около того.
Да и родители на мозги капают в стиле "поступай в университет, а то бомжом будешь". По идее вроде уже 16+ лет человеку, он школу закончил, уже жениться можно, а по факту он может даже в общественном транспорте ни разу один не ездил и про взрослую жизнь знает только по слухам.
> какого дьявола на это тратятся бюджетные деньги.
А ещё получается, что если студент на бюджете закончил такой ВУЗ, то в нормальный можно поступить только за деньги.
> не было ничего похожего на "лабораторные работы", поскольку таковые в применении к программированию бессмысленны.
Ну вот как раз так назывались программы, которые нужно было сделать по заданию преподавателя, а затем оформить в виде отчёта. Тут к счастью две-три страницы было достаточно - сама программама и лог её тестировния из терминала (или со скриншотами, если GUI) с пояснениями.
> в основном построен вокруг написания программ не так чтобы больших, но таких, которые ни за час, ни за день, а чаще и за неделю не сделаешь.
Нужно иметь немалую дисциплину, чтобы над одной задачей работать больше недели. У меня вот такой не было. Например через три дня надо уже курсовую сдавать, на которую вообще-то полгода даётся, а я даже не начинал. И тут я за один день писал программу, на следующий день писал текст и на третий день уже защищался на "отлично".
А можно пример задания для такой программы, на первом-втором курсе?
> А ещё курсовая работа не может быть "по какому-то предмету", это должна быть именно самостоятельная исследовательская работа, выполненная под руководством научного руководителя.
Ну, из моих работ чуток новизны в парочке было. Ну не то что бы прямо настоящей научной ценности, но как минимум тему я выбирал сам и делал что-то не совсем стандартное. Хотя правильного оформления списка литературы и ссылок и там не было, но я просто не понимал зачем это всё нужно.
ответить
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 году (и дальше каждый год) приходилось студентам объяснять, что вот тут и вон там в методичке написана полная лажа, так что так не делайте, а делайте вот так.
ответить
Re: Re: Re: Re: Система "Антиплагиат" в ВУЗах
Ну вот это и есть примерно уровень того что у нас было бы курсовой работой. На втором курсе было задание сделать программу с псевдографическим меню, котороое бы позволило вести простенькую базу данных с пунктами меню для просмотра, добавления и удаления записей. Я сказал, что вместо этой хрени буду делать интерпретатор языка программирования (простенького конечно) и препод даже согласился. Вся остальная группа городила "базу данных". Это одно из тех двух заданий, где я считаю что это тянет на небольшую новизну.
В случае шелла, я бы сделал, чтобы нечётное количество кавычек включало перевод строки в состав следующего слова, а не вызывало ошибку, как и в настоящем шелле. Интересно, за это бы автор поругал или похвалил? Вроде и не строго по заданию, а вроде даже и лучше.
ответить
Re: Система "Антиплагиат" в ВУЗах
> Ну вот это и есть примерно уровень того что у нас было бы курсовой работой.
Подобное не имеет права называться курсовой работой, поскольку задание даётся одно и то же из года в год и никакой новизны не предполагает. Кроме того, требовать в дополнение к подобному заданию ещё какой-то отчёт в виде текста — это бессмысленная имитация кипучей деятельности. Какой-то смысл в подобных заданиях есть исключительно в случае, если задание принимается лично, и в ходе его сдачи тщательно проверяется, является ли сдающий реально автором программы (владение кодом, вот это вот всё); когда требуют письменный отчёт, обычно им и ограничиваются.
И, пожалуй, мне это пустопорожнее обсуждение надоело.
Ах, да, раз уж спросили — любые сознательные модификации задания я всегда приветствовал (если только они не снижали его сложность в разы, и/или не устраняли из задания как раз того, на что оно давалось), на такие вещи накладывалось только одно условие: предварительно любое изменение задания со мной обговорить. Впрочем, это уже к обсуждению никакого отношения не имеет. Всё, тема закрыта.
ответить
Re: Re: Re: Система "Антиплагиат" в ВУЗах
> Курсовая — это вид квалификационной работы
И вот тут меня заинтересовал этот вопрос, я полез в интернет и, честно говоря, ничерта не понял, хотя уже сдал две стопки бумаги, озаглавленные "Курсовой проект" (обе на 2 курсе). Непонятно, что такое курсовая работа, курсовой проект, квалификационная работа, в разных местах всё противоречит друг другу. И если курсовая это квалификационная, то разве по итогам её защиты присваивается квалификация? Или что к чему...
И насчёт распределения по кафедрам не понял. У нас с самого поступления каждое направление приписано к кафедре и остаётся на ней до самого выпуска. Распределение на 3-4 курсе есть, но кафедра всё равно одна. Хотя это, возможно, из-за того, что у нас вообще нет такой ступени, как факультеты.
ответить
Re: Re: Re: Re: Система "Антиплагиат" в ВУЗах
> то разве по итогам её защиты присваивается квалификация?
Нет, почему. Термин "квалификация" несколько омонимичен. "Присвоение квалифкации" — это когда человеку выдают некую бумажку, что он теперь якобы может что-то такое, чего раньше не мог (или мог, но этого никто не знал). А есть ещё "подтверждение квалификации", когда человек каким-то образом доказывает, что соответствует определённым требованиям. Квалификационные работы — про второе, не про первое: нельзя прийти с улицы с дипломной работой, защитить её и на основании этого получить диплом, т.е. квалификация присваивается (что бы там ни писали во всяких "положениях") не по итогам защиты квалификационной работы, а по итогам обучения в ВУЗе. Для случая учёных степеней — конечно, уже не обучения, а проведённых исследований.
А ещё бывает "повышение квалификации", которое ни к присвоению, ни к подтверждению никакого отношения не имеет.
> каждое направление приписано к кафедре и остаётся на ней до самого выпуска
Совершенно отвратительно. Когда абитуриент поступает на первый курс, никто (ни он сам, ни кто-то ещё), никаким способом, вообще никак не может определить, в какую сторону данному конкретному персонажу следует развиваться, чтобы получилось что-то осмысленное.
На том же ВМК, если как-то "не очень задалось" с программированием, можно пойти на одну из математических кафедр, а если "как-то не очень" с математикой — наоборот, пойти на программистскую (их тоже несколько), если же ни то, ни другое не пошло — ну, есть ещё всякие варианты вроде "Оптимального управления" или там "Исследования операций" (чтоб было понятно, там где-то ещё всякая финансовая математика пробегает, и прочее в таком духе). А распределение происходит после двух курсов, когда уже человек вполне может оценить, что у него получается нормально, а что идёт через гадину.
Когда "направление" определяется сразу после поступления, на выходе ничего хорошего не будет.
ответить
ГДЗ
>Когда я учился в школе их ещё не было, но сейчас так вроде чуть ли не больше половины делают.
Половина? Так делают (почти) ВСЕ, в лучшем случае девочки-отличницы на основе готового решения придумывают своё.
Тот объем домашки, которые учителя вешают на учеников самостоятельно выполнять нереально. Особенно учитывая то, что эта самая домашка на оценки влияет примерно никак (для справки: информатику в течение всей школы весь класс списывал у меня, при этом я чуть ли не единственный сидел с тройкой в четверти).
Причем эти самые оценки это форменный цирк, потому что они не влияют ни на что (даже в аттестат выставляется не среднее со всех годов обучения, а только последнего), при этом сам аттестат вообще не влияет на поступление в ВУЗы.
ответить
Re: ГДЗ
Ну, в школе всегда всё было плохо, а сейчас стало совсем отвратительно. Это в целом не новость.
Итить-колотить, а чего вы хотели, когда сначала примерно с 1950-х готов по меньшей мере педагогические "ВУЗы" комплектовались по остаточному принципу, т.е. туда шли те, кто больше ни на что не годен, а в последние годы борцуны за "инклюзивность", а также со всяким "унижением учеников" и прочей "педофилией" разогнали из школ последних осмысленных педагогов.
Только не спрашивайте меня, что теперь делать. Теперь уже, наверное, ничего. Поздно.
ответить
Re: ГДЗ
> при этом сам аттестат вообще не влияет на поступление в ВУЗы
Имею наглость заявить, что это даже хорошо. Современные школы это далеко, очень далеко не то же самое, что дореволюционные гимназии, чей аттестат был гарантированным пропуском в любой вуз страны. Вступительные экзамены в вузы потому и появились, что высшее образование портилось гораздо дольше и неохотнее, чем среднее.
ответить
Re: Re: ГДЗ
Портилось оно, конечно, дольше и неохотнее, но ЕГЭ это дело довершил.
ответить
Re: Re: Re: ГДЗ
Если ЕГЭ - это так плохо, почему тогда его вводят вообще везде, не только в России, но и на Украине, в Белоруси, в США (ACT и SAT - оба для одного и того же, но не государстенные а от частной лавочки. Какие-то вузы принимают один из двух, какие-то оба, какие-то только свой вступительный), в Казахстане, да вроде и в других странах тоже?
ответить
Re: ГДЗ
> Если ЕГЭ - это так плохо, почему тогда его вводят вообще везде
А почему на всех компах USB, хотя сама его идея абсолютно дебильна? А почему среди всех разъёмов того же USB вендоры выпилили все, кроме самых хрупких и ненадёжных (microUSB и USB-C)? А почему из всего зоопарка процессоров и их систем команд, существовавшего на рубеже веков, выжила именно линейка x86, обладающая самой дебильной и хаотичной системой команд в истории? А почему Windows до сих пор на больше чем 90% компьютеров конечных пользователей? А почему автомобили раньше делали нормально, а сейчас делают из говна и палок? И это вообще-то в любой области человеческой деятельности происходит именно так: из всех возможных решений выживает самое дебильное, качество практически любых товаров и услуг деградирует со временем, etc.
Конкретно по ЕГЭ: вы что, всерьёз полагаете, что те, кто имеет возможность влиять на принимаемые решения, заинтересованы в том, чтобы система образования выпускала людей, умеющих думать?
Как дети, чесслово (tm)
И, кстати, давайте-ка отсюда, быстренько. Вы где-то по пути ошиблись дверью, вам не сюда.
ответить
Re: ГДЗ
> в лучшем случае девочки-отличницы на основе готового решения придумывают своё.
А почему обязательно девочки? Мальчики не могут быть отличниками или не могут придумать своё решение, или наоборот не смотрят в ГДЗ совсем?
> Тот объем домашки, которые учителя вешают на учеников самостоятельно выполнять нереально.
Ой, да ладно. Я тут местами слежу за средним образованием одного ученика. Заданий ровно столько же, сколько задавали мне во времена до распространения ГДЗ. Я же как-то справлялся.
Единственное, на мозги капали родители сразу после прихода из школы, чтобы я делал ДЗ, а я его всё равно делал не сразу, а в последний момент, когда уже спать надо было. В итоге ДЗ хоть и сделано, но нервы испорчены. Хотя могли бы не доставать с этим ДЗ, ну подумаешь пару раз не сделал бы его. Учителя бы отругали и начал бы делать. А может без такого внешнего давления я бы ещё и научился сам планировать, когда нужно начинать делать ДЗ, чтобы и его успеть сделать и после школы хоть как-то отдохнуть.
> Особенно учитывая то, что эта самая домашка на оценки влияет примерно никак
А она и не должна на самом деле. Домашние задания нужны чтобы ученик закрепил полученные на уроке знания и лучше понял материал. А на оценки они влиять не должны хотя бы потому, что проконтролировать, сам ученик делает что-то дома или за него делают родители, старший брат, одноклассник, автор ГДЗ и тд невозможно.
> Половина? Так делают (почти) ВСЕ
Так до ГДЗ чтобы списать нужно было как-то договориться с одноклассником, как-то встретиться и так далее. ГДЗ технически намного проще — зашел на сайт, а там решение любого номера уже расписано, а для каких-то заданий есть даже видео-ГДЗ где учитель решает задание на доске и разъясняет что и как.
Понятно, что если ученики были готовы приложить усилия чтобы найти подходящего одноклассника, встретиться, списать, то они и подавно будут готовы зайти на сайт и списать оттуда. А так как это технически проще сделать, то и списывать будет больший процент учеников.
Против ГДЗ можно предложить кастомные задания, которые раздаются на бумажных распечатках. Но так сейчас нейронки развиваются. Скоро уже можно будет просто навести камеру телефона на задание и на экране появится готовое решение по школьным стандартам. Точнее такое уже сейчас есть, но где-то четверть заданий решает неправильно. Ну так чуть-чуть поднажмут и оно будет решать всё лучше, чем средний отличник.
И ладно ещё домашние задания, ученики ведь и на уроки смартфоны носят. А если там инет, так они могут прямо на уроках с ГДЗ списывать. А с нейронкой так они и контрольные, составленные учителем из головы смогут списать.
ответить
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, сделанный чутка попозже, позволял все это дело еще и рукописным вводом вводить.
ответить
Re: ГДЗ
> по факту домашка это просто скидывание остаточных материалов с урока. А этот самый остаточный материал появляется из-за попытки впихнуть в бедную голову ученика материал, который за 30-40 минут урока впихнуть невозможно
Насколько я понимаю, это всё-таки самодеятельность отдельных учителей из спецшкол.
ответить
Re: Re: ГДЗ
Да я вроде в обычной школе учился, но работало именно так: есть задания на урок, сколько сделаем - сделаем, остальное на дом (поэтому не зевайте на уроке, меньше дома делать будете)
У кого-то было по другому?
ответить
Re: ГДЗ
Я ничего подобного не помню, но я тут не показатель — школу я закончил 34 года назад.
ответить
Re: Re: Re: ГДЗ
> Но я в физмате учился, может в этом дело.
Я тоже в физмате учился. Но для меня именно физика и математика были самыми лёгкими предметами, а больше всего напрягал английский. Физику я в рамках средней школы по книгам изучил ещё до шестого класса, когда она в школе появилась. Занимательная физика Перельмана, всякие энциклопедии по физике и астрономии с удовольствием читал. Математику про всякие темы вроде комплексных чисел я изучал ещё тогда, когда в школе ещё не давали даже отрицательных.
А вот квантовую физику и теорию относительности я как-то не осилил даже до сих пор, почему-то. Книги-то по ним читал конечно, но в голове представить как это пространство искривляется, а частица может быть одновременно волной у меня не выходило и так и не вышло. И соответствующий математический аппарат тоже как-то не осилил. Особенно мозги выносит то, что вращающийся объект каким-то образом заставляет само пространство-время вращаться или что-то вроде. Вот это вообще как?
Ну то есть посчитать что-нибудь по E=mc² или E=hν я конечно могу, но это же не равно пониманию теории относительности и квантовой механики.
> Я лично делал проще: вставал пораньше и делал перед школой.
Я бы может тоже так делал, но мне лично родители бы вынесли весь мозг раза по три, если у меня уроки на завтра не сделаны.
> А потом у тебя решение с половиной класса одинаковое. На побочные предметы сойдет, а на математике с русским влепят двойку обоим.
Да ладно? Как решение может быть разным? Ну то есть в мелких вариациях вроде оформления — конечно, а так в школьных задачах редко когда бывает больше одного способа решения, а даже если и бывает, их точно меньше чем человек в классе.
> "Оно" есть уже как лет 8, Photomath называется и прекрасно решает любые задания, уж средней школы точно.
Я пробовал только чато-гопоте давать математические и физические задания и оно каждый раз фейерически фейлилось даже на чём-нибудь простеньком. Единственная польза - она может подсказать какие конкретно формулы могут помочь для решения этой задачи, но и то их ещё надо перепроверить, поскольку оно формулу может запросто придумать, если её не знает.
ответить
Re: Re: Re: Re: ГДЗ
>Да ладно? Как решение может быть разным?
Я про оформление
ответить
Re: Re: Re: Re: Re: ГДЗ
Ну это наверное надо быть совсем уж тупым, чтобы при переписывании решения не суметь даже просто расположить выражения чуток по-другому или что-то вроде.
Хотя какое там оформление, если уравнение, вроде каждый следующий шаг записывают под предыдущим и внизу должно быть x=... которое ещё можно подчеркнуть для наглядности.
ответить
Re: ГДЗ
> надо быть совсем уж тупым
Как вы думаете, кем, например, надо быть, чтобы, когда тебе рассказывают про перестановки (в "терминах" бильярдных шаров на полочке), ну, типа, вот всего шаров семь, первый шар мы можем выбрать семью способами, и какой бы ни выбрали, в мешке останется шесть шаров, то есть на каждый вариант выбора первого шара есть шесть вариантов выбора второго шара — сколько всего будет вариантов на первые два шара? Ну, вот в мешке их семь, а на полочке два места, нужно какой-то слева и какой-то справа, сколько вариантов таких?
Да, так вот... как вы думаете, кем надо быть, чтобы эти 7 и 6 сложить (и получить 13 вариантов)? А я вам скажу, кем надо быть. Обычным таким школьником, даже не самым глупым на общем фоне. Ну то есть во всяком случае не производящим впечатление совсем тупого.
Частные уроки — лучшее средство избавления от веры в человечество.
ответить
Re: Re: Re: ГДЗ
> А майкрософтский Math Solver, сделанный чутка попозже, позволял все это дело еще и рукописным вводом вводить.
Тупой калькулятор. В линуксе есть лучше, qalc причём не требует инета. Некоторые уравнения тоже решает.
Я ввёл в эту микрософтовскую поделку простейшее уравнение x^x^x=16 и он даже не смог дать ответ, хотя любой школьник с каплей мозгов это понял бы за секунду.
Если у вас на смартфоне есть Photomath или ещё какая поделка, попробуйте тоже башню степеней из трёх иксов равно 16 ввести. Мне почему-то кажется, что тоже не осилит.
ответить
Не осилило.
Но мне такие уравнения за всю школу не попадались. Вернее, попадались, я их устно решал, но в серьезных задачах такие башни не использовались
ответить
Re: Не осилило.
Суть не конкретно в этом уравнении, а в том, что на данный ммоент у автоматических решалок мозгов всё ещё меньше, чем у даже не самого умного школьника.
Это просто первое что пришло мне в голову. Если я настолько быстро придумал то, что эта штука не смогла решить, значит её способность решить произвольные математическую задачу крайне ограничена. Может это изменится через несколько лет, но не сейчас.
Текстовую задачу, даже в стиле "У Миши было было 5 игрушек, а у Маши 7. Затем они поменялись и игрушек у них стало поровну. Сколько игрушек стало у Миши?" она тоже не решит, наверняка.
ответить
Re: Re: Не осилило.
> чем у даже не самого умного школьника.
Не знаю как насчёт автоматических решалок, а вот не самого умного школьника вы явно переоцениваете. Подавляющее большинство школьников вообще не понимает, что такое возведение в степень.
ответить
Re: Re: Re: Не осилило.
ChatGPT 3.5 не осилил задачу про игрушки. Не понял он, что если они поменялись, то они могли и одну игрушку на две менять или на три, в зависимости от ценности.
Теперь осталось найти школьника и предложить эту задачу решить ему.
ответить
Re: Не осилило.
Он мог семантику русского текста не осилить, попробуйте его спросить по-английски.
ответить
Re: Re: Не осилило.
Да, на английском задачу GPT решил, но он решил это через громоздкую систему уравнений, которую он ковырял два экрана. Исходя из моего опыта скармливания ChatGPT разных математических задач, я склонен считать, что просто повезло.
ответить
Re: Re: Re: Не осилило.
> Подавляющее большинство школьников вообще не понимает, что такое возведение в степень.
В 9 классе меня одноклассники, внезапно, попросили помочь подготовиться к ГИА по математике. Каково было моё удивление, когда я узнал, что никто не умеет считать в столбик и работать с дробями...
ответить
Re: Не осилило.
Это впечатляет, да. Ну, с непривычки. Потом проходит.
Хотя, конечно, когда встречаешь какого-нибудь гендиректора небольшой такой компании человек на сто, которому для умножения на десять требуется калькулятор, тут уже никакая привычка не спасает. Я, во всяком случае, ох$$ел, хотя к тому времени вроде бы у меня уже не должно было оставаться никакой веры в человечество.
ответить
Re: Re: Не осилило.
В оправдание могу сказать, что я например для сложения-вычитания двухзначных чисел часто использую калькулятор, хотя на самом деле могу в уме эти операции проделать и с четырёхзначными, что я проверял в играх вроде BSD games / arithmetic. Мозг иногда глючит и даже в простейшей математической операции можно получить неверный результат, даже если в 90 случаев из ста получается правильно посчитать что-то куда более сложное.
Ну и ладно, гендир маленькой компании. А я видел ректора целого университета полуIT-шного направления, которая при работе на компьютере звонила секретарю (или кому-то там, я не видел) каждые пять минут с вопросами вроде "Вот мне нужно сделать текст жирным, куда нажимать?", потом "Мне нужно сохранить то что я напечатала. Куда нажимать," и по инструкции по телефону каждый раз искала кнопочку или пункт меню. Вот прямо для каждой операции на компьютере.
ответить
Re: Не осилило.
С двузначными да, можно глюкануть, самое частое — off-by-one в десятках. Но если в мозгу нет на уровне рефлекса вот этого вот "дописать нолик справа", то там нет и числа как такового.
Ректор тут не показатель, это практически наверняка чья-то — ну, кого-то "серьёзного" — дочка, жена или любовница. Вот тот гендир — ну, он вроде self-made, поскольку директор не очень крупной коммерческой лавочки — не такое место, куда ставят "своих по блату". Но вот как можно поднять работающий бизнес, не умея по факту мыслить (а как можно мыслить без абстракций, при том что число — это в абстрактном мышлении основа основ) — короче, я до сих пор не понимаю, что это было.
ответить
Re: Re: Система "Антиплагиат" в ВУЗах
> больше ни в какой ВУЗ не взяли
Даже без возможности заново сдать ЕГЭ и заново поступить на первый курс? Даже на первый курс на платной основе и даже исключить возможность поступления в "негосударственные" вузы?
Я, если что, другой аноним, мой вопрос - просто праздное любопытство по поводу Вашего мнения. Я ни в коем случае не пытаюсь на что-то намекать или иметь дерзость Вас в чем-то пытаться убедить. Спрашиваю только для того, чтобы суть Вашего ответа топикстартеру мне была ясна до конца.
ответить
Re: Система "Антиплагиат" в ВУЗах
ЕГЭ вообще не имеет права на существование, если уж на то пошло, но на остальные пункты — без всяких "даже", если человек попытался выдать чужой текст за свой, путь к диплому для него должен быть закрыт навсегда.
ответить
Re: Re: Система "Антиплагиат" в ВУЗах
> ЕГЭ вообще не имеет права на существование, если уж на то пошло
Да чем плох ЕГЭ-то? Основная претензия к нему была, что можно случайно расставить галочки и получить минимум баллов, так ведь это раньше было, сейчас заданий с галочками в ЕГЭ больше нет. Почти все задания предлагают числовой ответ, который можно получить только если решить задачу.
Коррупция, когда какие-нибудь ученики, едва разговаривающие на русском имеют 100 баллов? Вроде ужесточили контроль и сейчас этого меньше.
Сложность заданий? Почти 1-в-1 то же самое что на вступительных экзаменах в ВУЗ раньше было, по крайней мере математика, особенно профильная.
Единственный фактор — ЕГЭ можно сдать только один раз за год и если плохо сдашь никуда не поступишь, а родители и учителя нагоняют, в итоге школьники иногда выходят в окно от стресса. Вот это да, минус, но так хотят разрешить ЕГЭ пересдавать вроде. Да и со вступительными экзаменами в ВУЗ стресса не меньше.
Попробуйте посмотреть на задания к ЕГЭ на последние годы, особенно "математика профильный". Не знаю как вы, а я бы некоторые из последних заданий сходу не решил, не смотря на то что с математикой у меня всё в школе было отлично и я даже участвовал в олимипиадах.
На мой взгляд вполне адекватная градация сложности заданий. Есть и те которые средний ученик решит без особого труда и те, где и топовый серьёзно напряжется, так что экзамен вполне адекватен своей задаче.
ОК, ещё я вижу минусы в том, что из-за ЕГЭ в последних классах вместо обучения предмету происходит натаскивание именно на ЕГЭ. Это да, минус, но всё равно без понимания математики на 100 баллов ЕГЭ не решить, как не натаскивай, так что на мой взгляд не такой уж он и большой.
В общем на этом мои мысли, чем может быть плох ЕГЭ, кончились. Может у вас какие-то другие соображения?
ответить
Re: Re: Re: Система "Антиплагиат" в ВУЗах
> из-за ЕГЭ в последних классах вместо обучения предмету происходит натаскивание именно на ЕГЭ
Вот именно. Люди на выходе думать не умеют, зато умеют решать задачи. Добавлю — не просто задачи, а бессмысленные задачи.
> всё равно без понимания математики на 100 баллов ЕГЭ не решить
Во-первых, в школе натаскивают отнюдь не на 100 баллов. На 100 баллов можно отдельно взятого ученика натаскивать, а целый класс, даже в спецшколе, — максимум баллов на семьдесят.
Во-вторых, нет, умение решать задачи не гарантирует ничего похожего на понимание математики. Раньше, когда во всех ВУЗах были свои экзамены, появилось такое явление "абитуриентская математика". А всерос и прочие олимпиады породили такое явление "олимпиадная математика". Ни то, ни другое никогда не было собственно математикой, только издали похоже. Теперь вот есть ЕГЭшная математика, это тоже совершенно отдельный вид спорта, который собственно математикой не является и никакого "понимания математики" не даёт даже близко.
Если что, не волнуйтесь, я прекрасно знаю, какие задачи входят в ЕГЭ по математике. Ну то есть даже не надейтесь, что я тут что-то упускаю или чего-то не знаю.
> так что на мой взгляд не такой уж он и большой.
Ага, ну вот после этого — вон с моего сайта и дорогу сюда забудь. Пока на грубость не нарвался.
ответить
Re: Re: Re: Re: Система "Антиплагиат" в ВУЗах
> я прекрасно знаю, какие задачи входят в ЕГЭ по математике
А можете, как знающий человек, рассказать, чем "абитуриентская математика" отличается от "ЕГЭшной математики"? Увы, в моём окружении отсутствуют люди, знакомые одновременно с двумя этими явлениями.
И как, по вашему мнению, должны выглядеть идеальные вступительные испытания для абитуриента?
ответить
Re: Система "Антиплагиат" в ВУЗах
> чем "абитуриентская математика" отличается от "ЕГЭшной математики"?
Ну, она была всё-таки изрядно поразнообразнее, плюс к тому в некоторых ВУЗах существовали устные вступительные экзамены. Если сподобитесь найти Ткачука примерно до 2004 года издания, там была отдельная часть про устный экзамен, потом её выкинули "за ненадобностью", но по мне как раз из всей книжки Ткачука интерес представляли собрание вступительных задач за 30+ лет по всем факультетам МГУ (но это, понятное дело, не заслуга Ткачука, просто справочник) и вот как раз эта часть про устный экзамен, остальное там какое-то мутное.
Но даже и без устных экзаменов — те задачи хотя бы было до какой-то степени интересно решать, несмотря на их общую бессмысленность: ну не бывает в математике такой тригонометрии! и такого раскрытия модулей! и логарифмы, когда есть, с ними такого не происходит, как в абитуриентских задачах — то есть это всё была не математика, а такой специальный вид головоломок — типа, ну вот есть только те понятия, которые вводятся в школе, чего бы из них ещё этакого склепать, чтоб мало не показалось. Но тут дело в чём, головоломки как таковые ведь тоже в целом штука полезная, просто не следует думать, что вот это вот и есть математика.
> И как, по вашему мнению, должны выглядеть идеальные вступительные испытания для абитуриента?
А вот тут как раз всё просто. Нужен некий тестовый минимум, чтобы совсем уж дуболомов отсеять, а потом на первый курс брать всех, кто этот минимум проскочил, не фиксируя никак количество мест. Пришло 5000 человек, из них 4000 не справились с квалификационным заездом, остались 1000, всех взяли. Только чтобы было известно, что по итогам первой сессии останутся 200 человек, по итогам второй — 100, и только потом, начиная со второго курса, отчислять будут исключительно за "хвосты".
И да, единственная допустимая форма проведения экзамена — устно по билетам. Письменные работы любого рода — это иррелевантная туфта.
ответить
☞ From user (unverified) Mon Jul 22 08:43:40 2024
Довольно наивный вопрос
Я правильно понял, что чтобы создать свой сервер дома, необходимо настроить роутер так, чтобы все пакеты по-умолчанию отправлялись на мой компьютер? И в таком случае при попытке обращения к IP адресу шлюза, соединение будет установлено с серверной машиной. В различных местах интернета, мне говорят, что это не сработает, и нужно попросить провайдера "открыть порты". Что такое "открыть порты"? Разве "порт" это не объект внутри ОС. Или они какие-то другие "порты" имеют ввиду? И если провайдер как-то ограничивает создание сервера, то каким образом мы можем вообще отличить интернет? чем слушающий сокет отличается от того сокета, что создаётся на клиенте?
ответить
Re: Довольно наивный вопрос
Ответ на ваш вопрос вы найдёте, прочитав эту книгу до части VI включительно. Более короткого ответа у меня для вас нет. Можете попробовать с этой VI части начать (она во втором томе, если что), но с довольно хорошей вероятностью при этом ничего не поймёте.
На всякий случай, вот это вот "открыть порты" — чушь собачья, те, кто такое советует, сами не понимают, что происходит.
Впрочем, ваши поползновения что-то там сделать с роутером тоже чушь собачья, вашего роутера из интернета не видно, хоть вы там обнастраивайтесь.
ответить
Re: Re: Довольно наивный вопрос
Ну я как раз это и прочитал. По протоколу ip же маршрут находится автоматически, так как адреса разбросаны заранее (в отличии от протоколов канального уровня, где нужно явно знать адрес устройства). И тогда, получается чтобы установить соединение, достаточно знать IP, и порт. Внешний IP роутера же находится в сети интернет, раз он может обратится к DNS серверам итд. Получается, когда мы установили соединение, пакеты отправляются от адреса роутера к адресу компьютера-сервера какого-нибудь сайта, где работает программа на сокетах как в примерах из книги: после установления соединения она принимает запрос, и на него отвечает что-нибудь. Так? Почему тогда нельзя поменять эти устройства местами, чтобы роутер был как сервер,который только лишь перенаправляет пакеты на настоящий сервер, а клиентом был кто-нибудь другой, кто знает внешний ip адрес. Я, конечно не собираюсь ничего такого делать, тем более что дешевле купить Dedicated Server, просто не понимаю "почему незлья подлкючиться к моему компьютеру через сеть интернет, зная IP маршрутизатора". Или можно? Или нельзя? Или можно?
ответить
Re: Довольно наивный вопрос
> По протоколу ip же маршрут находится автоматически,
ЧЕГО?!!!!
> Так?
Нет, не так. Ну то есть просто вообще каждое утверждение вашего поста неверно. Каждое.
> Ну я как раз это и прочитал.
В таком случае помочь ничем не могу. Кто не умеет читать, тому книжка не помощник, а гостевуха тем более.
У вас отстутствует даже намёк на понимание, что там как происходит. И отвечать на ваши безумные вопросы тут никто не будет, не надейтесь. На них в любом случае нет ответа, поскольку сами формулировки вопросов исключают возможность ответить на них сколько-нибудь не совсем безумно.
UPD: Чувак, ты не понял. Без всяких "всмысле". Твоя картина мира не имеет ничего общего с реальностью, раскрывать твои бредни я тут больше не буду. Всё, аудиенция окончена. Хочешь — книжку читай, там всё написано, не хочешь — дело твоё. Ещё можешь на досуге погуглить, что такое NAT (про это в книжке есть). А ещё — что за протокол BGP (про это в книжке нет). Может, допрёт, как в интернете на самом деле всё устроено. Хотя, конечно, вряд ли.
ответить
привилигированные порты и проблемы с безопасностью
Как раз хотел уточнить насчет портов, мне вроде бы понятно, зачем для привязки к первым 1024 портам нужны рут права, что бы, например, вредоносный софт не смог так просто привязаться к порту 22 и украсть ssh пароли (да да, лучше использовать ключи, но я так, для примера). Но мне кажется немного неразумным, заставлять всех системных демонов каждый раз реализовывать у себя поддержку понижения привилегий (и не дай бог забудешь).
У меня вопрос, можно ли как то задать в системах Linux/BSD некую таблицу правил, что бы к конкретному порту X мог привязыватся только процесс запушенный от конкретного пользователя Y? Это бы решило обе проблемы.
ответить
Re: привилигированные порты и проблемы с безопасностью
> что бы, например, вредоносный софт не смог так просто привязаться к порту 22
Нет, не для этого. Если бы не было привилегированных портов, любой юзер в системе мог бы поймать момент, например, когда какой-то из основных сервисов перезапускается, и повесить на этот порт свою программу вместо системного демона.
> украсть ssh пароли
Украсть пароль от ssh, просто повесившись на 22 порт, невозможно, изучайте основы криптографии.
> можно ли как то задать в системах Linux/BSD некую таблицу правил
Такого нет и не нужно.
ответить
☞ From original (unverified) Mon Jul 22 08:32:42 2024
Jonathan Blow - про коллапс цивилизаций
ZSRHeXYDLko
Нашел тут выступление в Москве одного американского разработчика, прекрасно иллюстрирует куда катится айти индустрия, а вместе с ней и все человечество. Про то как, забываясь на пути усложнения всего, цивилизация медленно но верно идет по пути коллапса, аналогично тому, что был в бронзовом веке, и от того насколько он медленный, никто его не замечает. Смотрится на одном дыхании.
ответить
Re: Jonathan Blow - про коллапс цивилизаций
Подредактировал, чтобы сделать ссылку активной. Всё не смотрел, но начало да, завораживает.
UPD: таки досмотрел до конца. Эх, этому дядьке бы моя книжка понравилась. Если бы она существовала на английском.
ответить
Re: Re: Jonathan Blow - про коллапс цивилизаций
Этот дядька там вроде свой язык пилит, на замену плюсам, Jai называется, может чего стоящего да выйдет.
А вообще, на эту тематику даже кто-то ОС придумал для постапокалипсиса (http://duskos.org). Она одноядерная и может работать на чипах без MMU. Не уверен насчет реализации, но идея очень даже кстати, нутром чую, как в один прекрасный (нет) день, на Тайваньском заводе TSMC что то нехорошее случится (например прилетит ракета с материкового Китая), и не будет у нас больше новых процессоров. Эх, жаль Эльбрус и Байкал это лишь очередной распил бабла.
ответить
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. И отказалась скроллиться. Хотя там нет ничего, кроме просто текста.
Безнадёжно. А такие вроде правильные вещи дядька говорил, я аж поверил.
ответить
Re: Re: Jonathan Blow - про коллапс цивилизаций
А вы уверены что это его оффициальная страница? Насколько я знаю, он свой компилятор еще нигде не публиковал, да и веб разработчиков ниоднократно поливал помоями на своем ютуб канале. Но если она и правда его, это действительно печально.
ответить
Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
jai.community не знаю, насколько она официальная, но в выдаче поисковиков верхняя
ответить
Интересно...
Походил по страницам jai.community - все спокойно открывается с Firefox последней версии с отключенным JS, равно как и с консольного links.
У вас на какой-то конкретной странице все повисло?
ответить
Re: Интересно...
Нет, похоже, всё проще, там для случая отключённого js совершенно другая версия страниц, во всяком случае выглядит полностью иначе. А я как-то так, не надеясь ни на что, полез туда своим обычным браузером из-под изолированного акка, а там js включён.
Это, впрочем, не так чтоб сильно лучше. В "современных" версиях браузеров js выключить можно только через всякие about:config, про это мало кто знает. И уж во всяком случае если страница отказалась работать, ссылаясь на "неподдерживаемую" версию браузера, то отключать js и пробовать снова — ну, мне в голову не придёт.
ответить
Re: Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
Нет, она не имеет отношения к Джону, а у меня поисковик вообще её не вывел. Сейчас вы можете получить Jai, только направив запрос самому Джону на включение в список бета-тестеров. Пока что посмотреть на язык можно на записях его стримов на ютубчике.
ответить
Re: Jonathan Blow - про коллапс цивилизаций
То есть что, никаких материалов, кроме видосов, нет? Ну, я в бета-тестеры записываться уж точно не побегу.
ответить
Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
Вроде бы эта самая Dusk OS написана на Forth, и компилирует себя при каждой загрузке. Не то, чтобы это на что-то влияло, и это уж точно не первая такая ОС, но как-то немного смешно.
Насчёт работы без MMU, фишка в том, что в самом массовом процессоре за всё время, который только недавно перестали выпускать, но всё ещё выпускают его улучшенные версии, который засовывают во всё, что можно и нельзя, а именно Zilog Z80, нет MMU.
Гибель TSMC едва ли станет катастрофой. Цены подскочат, временно, пока Samsung, Intel, Texas Instruments и прочие раскочегарятся, да и только. Да и, скорее, сами тайваньцы взорвут TSMC. Вроде бы они уже заложили взрывчатку, и этим надеются удержать Китай от нападения, в надежде, что любимая сказка левых про власть капитала окажется правдой.
ответить
Re: Jonathan Blow - про коллапс цивилизаций
Если взорвать TSMC, это отбросит технологии кристаллов для процессоров лет на десять назад. Ну, от силы на пятнадцать. i386 вышел почти сорок лет назад. MMU в нём был, собственно какой-то MMU был и в 286, но кривой.
Если бы кого-то всерьёз волновали проблемы постапокалиптического будущего, стоило бы, наверное, пытаться делать клоны i386, одноядерные, со всей памятью на том же кристалле (памяти — ну, 64 Mb, ну, 128, больше не надо), всё это на кристаллах технологий, появившихся где-нибудь в районе миллениума. Такие кристаллы вроде бы много где умеют выпекать. При всей моей неприязни к системе команд i386, софта под него наделали — мама не горюй, можно ничего нового не изобретать, всё уже есть. Вот взять эту архитектуру и вместо того, чтобы бессмысленно наращивать скорости и объёмы (которые тут же будут впустую сожраны питономакаками, всякими вебанутыми и прочими я-тоже-программистами), пытаться развиваться в сторону противоположную: снижать энергопотребление, снижать стоимость производства, повышать долговечность, всё это при зафиксированных раз и навсегда вычислительных ТТХ.
Z80 вряд ли годится на что-то большее, чем управление стиральной машиной, и тут хоть ось, хоть не ось, хоть форт, хоть не форт — пытаться на процессоре без MMU построить компьютер общего назначения, я бы сказал, вопиюще бессмысленно.
Кстати, если вернуться к вопросу о взрыве TSMC, лично я всячески за. Если в организации появился незаменимый сотрудник, его следует немедленно уволить. Если в мире появился незаменимый завод, то чем раньше его взорвут, тем лучше.
ответить
Re: Re: Jonathan Blow - про коллапс цивилизаций
> Z80 вряд ли годится на что-то большее, чем управление стиральной машиной, и тут хоть ось, хоть не ось, хоть форт, хоть не форт — пытаться на процессоре без MMU построить компьютер общего назначения, я бы сказал, вопиюще бессмысленно.
Ну, у меня есть комп на кр580вм80, то есть советском клоне i8080, расширенной версией которого и является Z80. То есть мой проц даже слабее. И ничего, вполне себе компьютер. Правда толку от него маловато, но для каких-нибудь инженерных расчётов сойдёт.
ответить
Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
Слушайте, ну вот что за бредни я только что прочитал?! У меня тоже РК86 где-то на антресолях валялся, и я прекрасно помню, какой это "вполне себе комп". А ничего, что ПЕРВАЯ raspberry pi жрёт электричества в несколько раз меньше, а по вычислительной мощности рвёт этот РК86 даже не в тысячи раз, а в сотни тысяч, если не в миллионы? Это я уже молчу, что такой "вполне себе комп" никаким образом не подключить ни к каким коммуникациям, я подозреваю, ему не хватит мощи даже обслуживать COM-порт и работать терминалом.
Ещё раз, и медленно: пытаться на процессоре без MMU построить компьютер общего назначения вопиюще бессмысленно, есть процессоры с MMU, которые ничем не хуже и всем лучше.
ответить
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.
ответить
Re: Jonathan Blow - про коллапс цивилизаций
> естественно даже самый простенький 32-битный комп с MMU куда лучше чем это
Ну так вот я именно это и имею в виду. Они ещё и долговечнее, а нагвоздили их очевидно во много раз больше (экземпляров), соответственно и сохранившихся экземпляров больше, и таких, которые поддаются восстановлению.
Процессорам без MMU место или в стиральной машине, или в музее. Я не могу себе представить сценарий, даже самый апокалиптический, при котором будет осмысленно использование того же кр580 как основы компьютера общего назначения.
ответить
Re: Re: Jonathan Blow - про коллапс цивилизаций
Мне нравится. Ну не для реальных задач, но вот прямо круто когда можно вводить машинные коды прямо в память и они исполняются на реальном железе.
Хотя наверное можно что-то такое и с современным компом организовать, но это всё-таки не то, нет полного доступа ко всему.
ответить
Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
> Мне нравится.
Ну так и рассматривайте этот комп как коллекционный экземпляр, это вполне нормально.
> но это всё-таки не то
Если хотите что-то более практическое — возьмите Ардуино и попробуйте под неё (точнее, под AVR) на асме пописать. Возможно, найдёте как раз то, что вам надо.
А ещё мне студенты показывали змейку на 16-битном x86, записанную в бут-сектор флешки. Там ещё дополнительное ограничение, что надо в эти вот 512-64 = 448 байт уложиться, это добавляет, так сказать, интриги.
ответить
Re: Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
Или для Z80 с Ардуино ;)
![](https://hackaday.com/wp-content/uploads/2020/07/z80.png)
ответить
Re: Jonathan Blow - про коллапс цивилизаций
круто когда можно вводить машинные коды прямо в память
Без участия процессора и вспомогательных микрокомпьютеров?
ответить
Re: Re: Jonathan Blow - про коллапс цивилизаций
Да нет, там в ПЗУ зашит некий "монитор", позволяющий память дампить, выдавать на магнитофон (буквально, на бытовой кассетный магнитофон), считывать с магнитофона, редактировать содержимое памяти (в том числе да, вводить с клавиатуры содержимое, начиная с заданного адреса в памяти) и передавать управление на заданный адрес в памяти. Но то обстоятельство, что этот "монитор" сам по себе программа, и довольно сложная — ну, это следующий уровень постижения.
ответить
Re: коды на реальном железе
Написать на Паскале программку, которая позволяет себя патчить на ходу и выполнять изменённый код на реальном железе?
Без вскрытия корпуса доступ только к тому, что выведено на ноги микросхемы. (Если нет радиоинтерфейса)
ответить
Re: Re: коды на реальном железе
> Написать на Паскале
Это можно разве что на том же MS-DOS'е сделать. Ну, либо осваивать вызов mmap, ничего невозможного в этом нет; только если человек такое уже может, зачем тогда продолжать на Паскале.
А так в норме секция кода недоступна для модификации, а всё остальное недоступно для исполнения. Ну хотя стек может быть доступен для исполнения, спасибо любителям вложенных подпрограмм, для которых требуются стековые трамплины; но вообще ждать от стека доступности на выполнение лучше не надо, на машинах с высокими требованиями к безопасности это стараются придушить, а трамплины эмулировать.
ответить
Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
>Jai называется, может чего стоящего да выйдет.
Не выйдет. Тебя не смутило, что этот товарищ аинду юзает?
ответить
Re: Jonathan Blow - про коллапс цивилизаций
Плюс к тому компилятор пишет на C++ (не знаю, какой он выбрал диалект, это не сообщается, исходники закрыты; но что-то мне подсказывает, что с этим всё плохо) и переписывать его на самом Jai, как я понял, не собирается.
Но попытку, пусть и неудачную, засчитать можно, почему бы нет.
ответить
Re: Re: Jonathan Blow - про коллапс цивилизаций
Наткнулся на эту HTML-страницу в просторах уэба, где, по-видимому, описываются некоторые особенности языка JAI и проводится сравнение с другими языками, включая C++. Возможно, по некоторым признакам А.В. сможет опознать диалект, используемый для написания компилятора.
https://github-wiki-see.page/m/Jai-Community/Jai-Community-Library/wiki/Overview
ответить
Re: Re: Re: Jonathan Blow - про коллапс цивилизаций
Диалект не опознал, но с самим языком мне теперь всё ясно. Там есть такое перечисление (оставляю только те пункты, которые позволили мне сформировать отношение к проекту):
Лично мне этого достаточно, обсуждение языка Jai прошу считать закрытым.
ответить
☞ From Мое имя (unverified) Sun Jul 21 13:50:38 2024
Спасибо Вам за книги
Очень печально, что Андрея Викторовича не хватает на написания книг по другим областям информационных технологий, потому что так обьяснять и расскрывать тему, как он, никто не может (по крайней мере, мне не встречались)
ответить
Re: Спасибо Вам за книги
Даже интересно, а про какие ещё "области информационных технологий" вы бы хотели видеть книги моего авторства?
ответить
Re: Re: Спасибо Вам за книги
Я не автор, но мне бы хотелось материал, который раскрывает нюансы вроде отказа от повышения привелегий в процессе сеанса работы, отказ от sudo, doas и так далее в пользу CTRL-ALT-F2. И наверняка многие, многие другие аспекты, о которых мне до сих пор неизвестно. Есть куча книга по линуксу и информационной безопасности. Но там все через sudo(что как бы намекает), такие дела.
ответить
Re: Спасибо Вам за книги
Информационная безопасность находится за пределами моей уверенной компетенции, т.е. я более-менее уверенно себя чувствую в плане безопасности моих собственных компьютеров, но писать книгу на эту тему, пардон, было бы откровенным шарлатанством.
Безусловно, когда кто-то имеет наглость что-то там писать про безопасность, и при этом предлагает использовать sudo — это намного более запущенный случай шарлатанства, нежели получилось бы у меня; но становиться шарлатаном я в любом случае не хочу.
ответить
Re: Re: Спасибо Вам за книги
А если sudo используется, но в конфиге явно прописаны конкретные программы, которые через неё можно запускать, чем это принципиально отличаеся от того же suid-бита?
ответить
Re: Спасибо Вам за книги
Во-первых, и в-главных, sudo просит пароль (но не пароль root'а, а пароль самого пользователя), что приводит к появлению ложного чувства безопасности — многие люди уверены, что без знания их замечательного пароля у злоумышленника ничего не получится (несмотря на то, что они сами то и дело этот пароль вводят, и перехватить его, уже имея доступ к их аккаунту — дело не просто техники, а довольно простой техники). Если же поставить suid bit, то будет очевидно, что вот эта вот программа может быть запущена в любой момент всеми, у кого хватит полномочий. И люди ещё, возможно, подумают, ставить этот бит или нет.
Во-вторых, sudo сама по себе является suid'ным бинарником и в качестве такового мишенью для атаки. И она слишком развесиста, чтобы её в этом качестве терпеть.
Ну и в-третьих, я обычно вижу в sudoers ALL=ALL, а всякие "инструкции" как сделать то или это написаны в предположении, что именно такое в sudo и написано.
ответить
Re: Re: Спасибо Вам за книги
Получается, приватные ssh и gpg ключи тоже не имеет смысла паролем шифровать?
ответить
Re: Спасибо Вам за книги
Имеет, если они на отчуждаемых носителях, например на флешке. На случай потери флешки. Ещё на случай, если злые дяди отберут комп в сборе, но на этот случай imho диски должны быть зашифрованы целиком, кроме разве что системного раздела, где ничего, кроме самой системы, не хранится (его тоже можно, но требуется более умелое обращение с luks'ом).
Ну и от дурачка в принципе тоже помогает. Просто надеяться, что все вокруг окажутся дурачками, малость неосмотрительно.
ответить
Re: Re: Спасибо Вам за книги
> sudo просит пароль (но не пароль root'а, а пароль самого пользователя), что приводит к появлению ложного чувства безопасности
В детстве (6-7 класс) стоял Debian на компьютере. С root (я тогда это "админ" называл) доступом был мамин аккаунт. Я хотел что-то установить, мне сказали использовать sudo под своим аккаунтом и не надо ничего делать под маминым аккаунтом. Пароль от её аккаунта я знал и через sudo вводил _её_ пароль, т.к. _она__админ_, а я простой пользователь. Пароль хавать отказывалось. А потом мне объяснили, что я должен был вводить свой пароль, что вызвало у меня сильнейшую реакцию ЧЗХ: т.к. я же не админ, а sudo даёт полный доступ.
Люблю моменты, когда детский незамутнённый взор распознаёт какую-нибудь чушь. :)
Как жаль что тогда ещё не было вашей книги. Спасибо вам!
ответить
Re: Re: Спасибо Вам за книги
Может само выражение "области информационных технологий" подобрано неудачно, но лучшего на тот момент найти не мог
Одно из: ещё давно я нашел у Вас где-то упоминание о странице с продажами всякими устройствами, подобными микроконтроллеру и остальным вещам, то было бы интересно перенять от Вас опыт того, как дошли до разработок этих систем, как "подходили" к данным вещам, какие книги читали (а может не книги, а другие источники знаний).
ответить
Re: Спасибо Вам за книги
Во всём, что касается микроконтроллеров, основное — это схемотехника, а не программирование. Так вот, электронную основу тех дивайсов, о которых вы говорите, делал не я, несмотря на её (насколько я могу судить) схемотехническую примитивность. Ну то есть моего там было техническое задание и весь софт — и прошивка для дивайсов, и управляющие программы. Но электронную часть пришлось делегировать, и хорошо, что нашлось, кому.
Так что об этой области никаких книг от меня не будет уж точно, и не потому, что меня на это "не хватает", а потому, что я эту область не знаю.
ответить
Re: Re: Спасибо Вам за книги
Если честно, то хотелось бы отдельно более подробный гайд по использованию Unix. В книге показаны необходимые основы. Но вот люди на форумах более ловко пользуются командной строкой: перенаправляют ввод, знают тонкости всех стандартных утилит echo, cat, tee, sed итд, понимают для чего какая папка предназначена, могут и почтовый сервис настроить, и сеть отконфигурировать вручную. Для того, чтобы это всё освоить есть конечно FreeBSD Handbook, но там как-то слишком сухо написано, как в справочнике, без особого разжёвывания.
ответить
Re: Спасибо Вам за книги
А тут всё проще: поможет только практика.
Книги, в которых подробно расписывается какой-нибудь Bourne Shell, и к нему ещё sed, awk, ещё что-нибудь, и ещё, и ещё — таких книг вроде не так уж и мало, только от них не видно пользы. Вот лично я в повседневной работе от возможностей bash использую, может, процентов пять, от возможностей sed — меньше процента, awk вообще не использую. Но если на эту тему пишется книга, то там, как правило, систематическое изложение сразу всего, что вообще есть, реальное освоение этого не факт что вообще возможно, да просто удержать в голове такую прорву информации нереально, если её не применять постоянно в работе. А понять, что из этого нужно, а что не нужно — вообще не вполне понятно, как. И тем более непонятно, как, будучи автором такой книги, выбрать из всего, что знаешь сам, именно то, что потом потребуется читателю, которого (в смысле читателя) автор никогда не видел и представляет себе только приблизительно.
ответить
Re: Re: Спасибо Вам за книги
awk — это примерно как perl, только попроще. Вроде кстати perl и вырос из желания сделать продвинутую версию awk, но тут могу ошибаться.
Я обычно использую вместо awk цепочки из cut, sort, grep, sed, tr, и так далее. Не знаю, почему, но мне лично как-то проще это воспринимать. Хотя если нужно например в текстовом файле посчитать сумму одной колонки, умножить на сумму другой и тд то ничего кроме awk, что могло бы так делать я не знаю. Разве что электронные таблицы применить. Но мне это настолько редко нужно, что я успеваю забыть 90% awk и изучаю его каждый раз заново.
Из sed в основном использую операторы s///g и y/// а когда нужно делать что-то с несколькострочными данными, обычно с помощью tr превращаю переводы строки во что-то другое, а после обработки обратно, хотя в sed есть операторы для многострочных действий.
ответить
Re: Re: Re: Спасибо Вам за книги
Ну я за вас рад, и что? Мой коммент не о том, как надо или возможно использовать всё это хозяйство, а о том, что осмысленную книгу на эту тему написать вряд ли возможно.
ответить
Re: Re: Re: Re: Спасибо Вам за книги
Есть Bash FAQ от создателей собственно bash и там же они кстати критикуют Advanced Bash Scripting Guide и подобные, где часто рекомендуют конструкции, которые не работают или работают неправильно на файлах со спецсимволами, пробелами, дефисом в начале. В ответ на возражение вроде "а не надо называть файлы так" скажу — 1) возможно админ обслуживает машину с юзерскими каталогами, в том числе злонамеренными юзерами, которые могут попытаться сделать инжект команды в имя файла 2) некоторые файлы скачаны из инета по клику по ссылке 3) некоторые файлы могут быть распакованы из архива, 4) не настолько уж правильные команды и сложнее неправильных обычно
http://mywiki.wooledge.org/BashFAQ - вот ссылка. Наряду с критикой неправильной команды рядом есть и правильная каждый раз.
ответить
Re: Спасибо Вам за книги
Это другой жанр. Такие тексты читают люди, точно знающие, чего хотят. Книги вроде моего трёхтомника читают те, кто ещё пока не понял, чего конкретно хочет.
ответить
Re: Re: Re: Спасибо Вам за книги
> понимают для чего какая папка предназначена, могут и почтовый сервис настроить, и сеть отконфигурировать вручную
Для чего как папка - это в Интернете не сложно найти. Сеть, почтовый сервис - очевидно надо понимать основы работы сетей. У Пола Коббаута есть в этом плане неплохая (ИМХО) книга. Она не самая свежая, но для понимания работы сетей и их настройки в Линукс, достаточно. Имеется перевод на русский. Наверняка на просторах Интернета можно найти книгу.
ответить
Re: Спасибо Вам за книги
Папки в шкафу
забаню!
upd: пардон, упустил — в анонимном комменте, на который вы отвечаете, тоже используется слово "папка". Нет, я всё-таки когда-нибудь закрою анонимные комментарии, ей-богу.
ответить
Re: Re: Спасибо Вам за книги
> ...в анонимном комменте, на который вы отвечаете, тоже используется слово "папка".
Надо же, я тоже пропустил сие слово. Хотя я сам при разговорах об этом настаиваю, что в Unix нет папок, а есть директории.
ответить
Re: Спасибо Вам за книги
Есть, есть над чем поработать :-)
ответить
☞ From anon (unverified) Fri Jul 19 10:04:52 2024
Идеальный язык и исключения
В одном из FAQ про идеальный, на ваш взгляд язык, вы критиковали Си, говоря что там нет прямого доступа к стэковым фреймам, на уровне языковых констукций. Но разве те же исключения нельзя было бы реализовать, используя функции setjmp/longjmp из стандартной библиотеки Си, предварительно обернув их в синтаксический сахар через макросы на вашем языке? И тогда не нужно лишний раз усложнять компилятор, или я что то упускаю?
ответить
Re: Идеальный язык и исключения
Вы прорву всего упускаете. Например, деструкторы. И не рассказывайте мне, что без деструкторов можно обойтись: если "универсальный" язык, несмотря на все его универсальности, не будет позволять реализовать деструкторы, то его можно вообще не начинать делать.
ответить
Re: Re: Идеальный язык и исключения
> И не рассказывайте мне, что без деструкторов можно обойтись
Даже не пытался, сам пользуюсь ими постоянно, более того, вообще не понимаю как можно в сколь нибудь большом проекте на чистом Си, помнить все время вызывать free после malloc, когда в тех же плюсах тривиально реализуются умные указатели.
Однако, в свою защиту скажу, что те же деструкторы, как мне кажется, так же можно сделать через нормальные процедурные макросы, умеющие ходить по абстрактному синтаксическому дереву, достаточно лишь найти места где переменная выйдет из области жизни и вставить туда вызов деструктора ее типа, а в сам деструктор, вставить вызовы деструкторов всех полей класса.
ответить
Re: Идеальный язык и исключения
Н-да.
Мысль первая: я никогда не использую умные указатели. Хотя пишу в основном на плюсах. А вот это ваше "вообще не понимаю как можно в сколь нибудь большом проекте на чистом Си, помнить все время вызывать free после malloc," можно сократить до четырёх слов: "я не умею программировать".
Точнее, у меня был один проект, где активно использовались умные указатели, это был InteLib, но там реализован Лисп, в таких вычислительных моделях без сборки мусора (или хоть какого-то её заменителя, конкретно там reference counting) делать нечего. А в обычной жизни мне и в голову никогда не придёт ввести smart pointer.
Мысль вторая: совершенно пофигу, как конкретно реализованы деструкторы. Вы понимаете, что сделав longjmp, вы их перепрыгнете? Или вы о таких мелочах не задумываетесь?
ответить
Re: Re: Идеальный язык и исключения
> Вы понимаете, что сделав longjmp, вы их перепрыгнете?
И правда не подумал, спасибо что указали на этот момент :)
Изначально, я вопрос задавал, потому что сам свой язык пишу, как раз вдохновившись InteLib, но разочаровался, узнав что там нету лисповых макросов для создания абстракций, а ведь в них главная фишка лиспа. У меня была идея сделать zero-runtime лиспо-подобный язык который транспилируется в усеченное подмножество ANSI C (для написания полноценного компилятора под все процессорные архитектуры и ОС у меня нет ни времени ни навыков), но судя по тому что вы написали, возможно мне реально стоит бросить эту затею и пойти перечитать ваши книги до полного просветления.
ответить
Re: Идеальный язык и исключения
> zero-runtime лиспо-подобный
Это взаимоисключающие параграфы. Лисп по своей природе совершенно категорически никак не фоннеймановский, так что для его реализации на машине фон Неймана (а это любой реально существующий компьютер) необходимо что-то. Виртуалка, не виртуалка, эмулятор, не эмулятор, в общем какая-то такая штуковина, которая заставляет S-выражения и их вычисление жить на машине фон Неймана. Вот это вот "что-то" и будет неотстригаемым рантаймом.
А макросы (почти commonlisp'овские, чуть-чуть не хватает до совместимости) в InteLib'е вообще-то есть, но сильно не в почёте. Просто потому что не нужны.
ответить
Re: Re: Идеальный язык и исключения
Ну, видимо у нас разное понимание, что такое Лисп. Я скорее имел ввиду просто использовать скобочный синтаксис, так как он упрощает написание парсера, облегчает написание макросов, не навязывает программисту синтаксис и приоритеты операций. А семантика в таком языке будет чисто сишная, со всеми ее плюшками.
ответить
Re: Идеальный язык и исключения
Вот уж парсер-то написать, гм... Едва ли не самое простое, что есть при реализации языка. На всякий случай, вы же знаете, что такое "рекурсивный спуск"?
ответить
Re: Re: Идеальный язык и исключения
Да знаю, естественно, но скобочки все равно упрощают. С другой стороны, возникает вопрос, какой конкретно из этапов настолько сложный, что останавливает вас от написания идеального языка?
ответить
Re: Идеальный язык и исключения
Меня останавливает сложность задачи в целом. Между прочим, несмотря на достаточно подробные описания того, что я хотел бы видеть на выходе, до конца я себе этот язык всё ещё не вполне представляю.
ответить
Re: Re: Идеальный язык и исключения
Может быть, не за горами день, когда вы объявите сбор пожертвований на разработку компилятора идеального языка : )
ответить
Re: Идеальный язык и исключения
Денег на это надо много, а людей, понимающих, зачем это всё надо — мало. Так что вряд ли.
ответить
Re: Re: Идеальный язык и исключения
Меня останавливает сложность задачи в целом.
А такой язык вообще возможен? Помню, в третьем томе вы писали об Ousterhout's dichotomy (не помню, как по-русски он пишется). И из той диаграммы кажется, что нельзя сделать именно один универсальный язык программирования.
ответить
Re: Идеальный язык и исключения
Один для всего — конечно нельзя, и следует это не из диаграммы (которая с появлением всяких Haskell'ей изрядно устарела) и даже не из дихотомии Оустерхаута в её исходной формулировке. Невозможность одного языка для любых случаев, когда надо записать алгоритм, чтобы он потом выполнялся без участия человека, следует из того, что самостоятельные программы необходимо писать на языках чисто компилируемых, тогда как скриптовые языки и встраиваемые DSLи должны быть, напротив, полностью интерпретируемыми. В книжке я на это потратил целую главу (12.5), но вы из всей той главы, видимо, предпочли только посмотреть картинки.
Здесь обсуждается идеальный идеальный язык общего назначения, т.е. такой, на котором пишутся самодостаточные программы. Для скриптового и прочего встраиваемого применения, с моей точки зрения, идеальный язык уже есть, и это как раз Tcl, созданный тем самым Оустерхаутом.
ответить
☞ From Anonymous (unverified) Tue Jul 16 22:02:15 2024
Новости на 2 страницах
Если зайти на http://stolyarov.info, то вверху видна новость "Журналы пожертвований", если зайти на http://stolyarov.info/news.html, то вверху видна новость "Очередная авария". Это не баг?
ответить
Re: Новости на 2 страницах
Нет, это называется "кеш браузера". Нажмите F5.
По ходу, публика отвыкла от этого дела, ибо "современные" (читай — погаными безмозглыми жопорукими бабуинами склёпанные) сайты все сплошь отдают только такой контент, который генерится непосредственно в ответ на каждый запрос, а такое согласно протоколу не кешируется.
ответить
Re: Re: Новости на 2 страницах
Да не, генерация на каждый запрос - это уже прошлый век (PHP) :). Сейчас как раз HTML/CSS/JS статические, а само содержимое страницы генерируется скриптами, запрашивая контент у сервера через кучу отдельных HTTP-запросов. :D
ответить
Re: Новости на 2 страницах
Я и говорю, только массовые расстрелы спасут человечество.
ответить
☞ From + (unverified) Tue Jul 16 21:05:11 2024
Thalassa CMS и существующие сайты
У вас нет в планах создать список сайтов, которые поддерживаются Талассой? Очень интересно увидеть, сколько их уже и как они будут пополняться. Ну и плюс побывать на них, вдруг имеются такие тематики, которые кому-то, допустим, были бы интересны. Когда-то обсуждали тут тему каталога с сайтами без JS - нормальных сайтов реально не хватает. Куда не зайдешь - везде пишут что без скриптов не работаем. Очень приятно залетать на всякие ресурсы без задержек!
ответить
Re: Thalassa CMS и существующие сайты
> список сайтов
http://thalassa.croco.net/moreinfo.html Есть даже инструкция, как в этот список попасть.
А что там ничего нет, кроме моих же собственных сайтов — так это вопрос не ко мне.
ответить
☞ From Сергей (unverified) Mon Jul 15 08:29:02 2024
Готовим детей
Андрей Викторович, здравствуйте! Прежде всего хочу поблагодарить Вас за труд и те знания, которыми Вы делитесь с людьми, от чего и желаю Вам счастливой жизни и крепкого здоровья! Хочу попросить Вашего совета. Моему сыну 14 лет. Я хочу ему подарить старенький и слабенький (причина очевидная) ноутбук и установить на него Linux. Своей целью я ставлю с одной стороны занять его чем то интересным, с другой - подготовить сына к изучению Ваших книг. Наличия одного ноутбука недостаточно. Необходима литература, доступная к пониманию школьника 7 класса, что бы он не просто сидел и смотрел в дисплей, а с пользой проводил время. Нужна теория и практика. Возможно ему не зайдет эта тема и я не стану заставлять его в дальнейшем. Т.к. Вы преподаватель, и в Ваших словах я нахожу отклик и согласие в своем уме, потому и решил задать подобный вопрос именно Вам и именно здесь, т.к. скорее всего я не один такой родитель, и подобный вопрос хочет задать Вам ещё кто-нибудь. Возможно я чего то не понимаю и мой вопрос, публикуемый в гостевой книге не имеет место быть, тогда я заранее прошу прощения и даю свое согласие на отказ в публикации. Подводя вышесказанное, посоветуйте какую-нибудь книгу или книги к изучению. С уважением, Сергей.
ответить
Re: Готовим детей
Я не вполне понимаю, в чём конкретно состоит ваш вопрос. Книг по линуксу, специально ориентированных на семиклассников, я никогда не видел. Больше того, я никогда сам не работал со школьниками младше 11го класса, и как это всё делается, со всей этой возрастной психологией и прочей педагогикой, как работают с мотивацией и вот это вот всё — не представляю даже близко.
ответить
Re: Готовим детей (Отзыв такого сына)
> Моему сыну 14 лет. Я хочу ему подарить старенький и слабенький (причина очевидная) ноутбук и установить на него Linux.
Примерно похожим образом со мной поступила моя матушка в таком же возрасте (сейчас мне 26). Отдала мне старенький компьютер, накатила на него Debian, если правильно помню тогда была 6-ая версия, а дальше 2.7бись сам.
В общем, занимался тем, что пытался поставить себе хоть какие-нибудь игрушки с переменным успехом, да и просто красиво себе Desktop настроил не более. И немного "программировал" на Ruby, т.к. мне этот язык дали как стартовый, тем самым меня травмировав.
В общем, толку от этого было что-то около нуля, если не вред. С друзьями в компьютер не поиграть, можно только было чесать ЧСВ: "У меня Linux, а вы -- лохи".
Мысленно я иногда ставлю эксперимент: как надо было родителю поступить в той ситуации, т.к. я себя ребёнком хорошо помню, когда мозг работал как-то совсем иначе. К сожалению, никакого решения не могу найти. Могу только отметить несколько пунктов, до которых я додумался, относительно СЕБЯ.
На этом пока всё. Если пройду премод и ещё что-то вспомню, накатаю ещё пунктов.
Я думаю, если вы так поступите, ваш сын просто залипнет в браузер, ибо в нём полноценная виртуальная машина, в которой "уже всё просто работает" и "им пользуются все мои друзья", когда с Linux как-то всё же надо повозиться.
Я бы посмотрел немного в сторону разработку чего-либо на смартфон (сейчас Андрей Викторович меня побьёт не только санной, но ещё и обосранной тряпкой), т.к. по моим наблюдениям как на работе, так и в университете уже у многих нет ПК, но при этом есть смартфон, на котором работают с документами и пр. подобное. Но как к этой задаче подступиться -- хз.
Я на текущем своём этапе использую Termux + дистрибутив Ubuntu через PRoot, чтобы на нём компилировать свои полноэкранные программки написанные на Pascal'е, мне этого пока хватает.
Тут на сайте я читал, как был успешный заход в программирование через функциональную парадигму, а также упоминался вариант использования Clojure для JVM. Но мне пришлось данный вариант откинуть, т.к. для того же Android это делается через ClojureScript "диалект кложи, который компилится в JS" (с) или ClojureDart, что для меня примерно тоже самое.
ответить
Re: Re: Готовим детей (Отзыв такого сына)
Путь у каждого свой, вряд ли с этим можно что-то сделать. Вообще по моим наблюдениям попытки целенаправленной деятельности по "изготовлению" из ребёнка чего-то такого, чего хотят родители, в большинстве случаев номер дохлый.
ответить
Re: Re: Re: Готовим детей (Отзыв такого сына)
Полностью с вами согласен.
Я говорю скорее про "дать возможность" ребёнку двигаться в этом направлении. Но вполне может оказаться, что ребёнку это нафиг не надо и в этом случае родителю надо дать заднюю. Что вполне, казалось бы, очевидно, но практика часто показывает обратное. Поэтому про это отдельно пишу комментарий.
ответить
Re: Готовим детей (Ответ другого сына)
>> С друзьями в компьютер не поиграть
И всё, абзац. Сейчас, однако, проблем с играми, включая онлайновые, на линуксах нет, по крайней мере, с большей частью игр, имеющихся в Steam.
Игры это, по моим наблюдениям, самый верный и самый частый вход во всё, связанное с IT. Но очень мало кто из тех, кто в детстве ковырял конфиги, скрипты и память игр, применяет полученные навыки в дальнейшем, и практически никто не задумывается, по какой конкретно причине игра изменяется, и в голове не укладывается ничего, кроме быстро забывающегося набора заклинаний.
Я это к чему говорю: нет никаких гарантий, куда там детёныш залипнет, и что его заинтересует. И нет ни одного способа определить, во что это выльется, когда оно подрастёт. Можно лишь гадать, что детёнышу будет лучше, и очень повезёт, если угадать удастся. Да и это самое "лучше" тоже для каждого своё, и наверняка у детёныша будет совсем другое мнение, когда он вырастет.
Меня отец и по сию пору спрашивает, когда же я, наконец, наиграюсь в свои игрушки, и начну пользоваться нормальной ОС. Игрушки это линукс, а нормальная ОС это винда, если что. В детстве, разумеется, ни о чём, кроме нормальной ОС, на домашнем компе не могло быть и речи, а от всего, связанного с программированием, меня старательно ограждали, ведь "сейчас программы сами себя пишут, нечего там делать". И ведь в своей картине мира он абсолютно прав, и останется прав, что бы из меня в итоге не вышло. Маленькая ремарка: мы с вами ровесники, и я только что закончил 2 курс очного бакалавриата, лол.
ответить
Re: Re: Готовим детей (Ответ другого сына)
> И ведь в своей картине мира он абсолютно прав
По мне так родители "правы в своей картине мира" в одном и только одном случае: если они понимают, что у детей своя собственная жизнь, лезть в которую даже с простыми советами с какого-то момента становится неуместно, и этот момент наступает как максимум лет в шестнадцать.
А патернализм (вот это вот "ну мы же ему желаем добра") — это один (!) из всего лишь двух (!) корней всего мирового зла, вот в этом я глубочайшим образом убеждён. Патерналистской риторике оправданий быть не может, даже когда речь идёт о родителях и детях.
ответить
Re: Re: Re: Готовим детей (Ответ другого сына)
А какой второй корень?
ответить
Re: Готовим детей (Ответ другого сына)
Служенчество. Жизненное предназначение, путь самурая, вот это вот всё. Иначе говоря, когда человек всерьёз полагает, что для него что-то (притом абсолютно неважно, что именно) может быть важнее, нежели его собственные шкурные интересы.
Точнее, это как раз первый корень, а патернализм — второй.
ответить
Re: Re: Re: Готовим детей (Ответ другого сына)
>А патернализм (вот это вот "ну мы же ему желаем добра") — это один (!) из всего лишь двух (!) корней всего мирового зла, вот в этом я глубочайшим образом убеждён.
Огласите весь список, пожалуйста
ответить
Re: Готовим детей (Ответ другого сына)
Уже огласили, см. выше. Синхронность впечатляет, вы тут что, непрерывно сидите и F5 жмёте?
ответить
Re: Re: Готовим детей (Ответ другого сына)
Ну, есть три сайта, которые у меня в закрепе на главной странице браузера: Ютуб, old Реддит, и stolyarov.info. Когда становится скучно, захожу на один из них.
Я конечно не считал, но думаю раз 20 в день я в гостевую захожу.
(Хотя, честно признаюсь, лучше бы сидеть на infoviolence - но там обновления сильно реже)
ответить
infoviolence
Скоро станут чаще. Мне тут долго было не до видосов, но сейчас накопилось всякого, аж изнутри распирает.
ответить
Re: Re: Готовим детей (Отзыв такого сына)
А мои родители в мои 16 лет просто купили мне комп при этом сами в компьютерах ничего не понимая и это я их пытался учить как им пользоваться, а не они меня.
К тому, что надо бы поставить линукс я пришел исходя из книг по информатике, где упоминалось, что существуют вещи, которые во многом лучше мейнстрима, но которыми мало кто пользуется.
ответить
Re: Готовим детей (Отзыв такого сына)
Повезло, правильная книжка попалась. Ну то есть вероятнее всего вы бы к этому всё равно пришли, просто, возможно, не так быстро.
ответить
Re: Re: Готовим детей (Отзыв такого сына)
Книга называлась "Энциклопедия для детей: Информатика", издательство Аванта+. Мне родители купили почти всю серию по разным предметам.
Не знаю, может быть. У меня, когда появился интернет, любимым развлечением на компьютере было скачивать всяякие программки, устанавливать и тыкать их. Программки, конечно, под винду были сперва. Но я и операционные системы пытался скачивать и запускать, например однодискетные дистрибутивы GNU/Linux, MenuetOS и KolibriOS. Понятно что что-то побольше на 56k модеме по 20 рублей в час не скачаешь.
ответить
Re: Re: Re: Готовим детей (Отзыв такого сына)
> на 56k модеме по 20 рублей в час
Давно, видать, дело было. Айтишные корпорасты тогда ещё не успели совсем о$$еть, как сейчас.
Ну в общем индивидуальные склонности решают, на вашем примере это видно. Не попалась бы книжка — путь оказался бы чуть-чуть другим, но результат плюс-минус тем же.
ответить
Re: Re: Re: Готовим детей (в панировке)
> я их пытался учить как им пользоваться, а не они меня.
Кстати, ИМХО это отличный вариант. "Хочешь научиться сам -- научи другого". Плюс, молодой человек понимает что родитель не всесилен.
ответить
Re: Re: Готовим детей (Отзыв такого сына)
> В общем, толку от этого было что-то около нуля, если не вред.
Все разумеется зависит от ребенка. Моему вот во время ковида наверное было 12 или 13 лет. Был комп, был Девуан на нем, и в школе была удаленка. Мой малой без меня поставил нужную программу, а потом нашел и установил нужные зависимости. Потом ему подарили новый ноут, на котором была предустановлена ОС одной хорошо изестной компании, но малой выбрал Линукс. Сегодня разумеется у него нет проблем в том числе и поиграть на Линуксе: сам все настраивает без меня. Пример не для того, чтобы похвалиться, а для того, чтобы показать, что можно и нужно ребенку в 14 лет давать пробовать работать с Линуксом. Я бы скащал, что уже в лет 11, 12 или 13 это можно делать, иначе есть риск, что ребенок будет пользоваться одной небезызвестной ОС и думать, что это есть хорошо. Следовательно тезис "Я думаю, если вы так поступите, ваш сын просто залипнет в браузер, ибо в нём полноценная виртуальная машина, в которой "уже всё просто работает" и "им пользуются все мои друзья", когда с Linux как-то всё же надо повозиться" не совсем верным будет. Не со всеми такое случается. Видимо Вам мамочка просто до этого мало дала информации, как вариант.
ответить
Возрастные ограничения
Я сильно подозреваю, что Linux можно "давать пробовать" ровно с того же возраста, с какого вообще любые компьютерные устройства, не исключая смартфона. Точнее, я бы поостерёгся смартфоны детям давать, вот уж совсем не игрушка, но уж если кто считает, что сматрфон можно — то уж линукс и подавно.
ответить
☞ From гость (unverified) Sun Jul 14 16:43:13 2024
Выбор рабочей станции в современных реалиях
Андрей Викторович, здравствуйте. Вопрос касаемо приобретения рабочей станции для последующего пользования как основной личной машиной и для самообучения. В контексте сегодняшней техники с повсеместной проприетарщиной и блобами, хотелось бы узнать у вас, что на текущий момент является наиболее оптимальным для покупки. Старых и никому не нужных ноутбуков, к сожалению, нет. Старого ПК, соответственно, тоже. Из того, что сегодня можно купить в магазине, это ноутбуки по дикому оверпрайсу с предустановленными форточками (которая, разумеется, выливается в копеечку при ценообразовании). Из того, что можно собрать самому: процессоры от amd на AM5/AM4 сокете. С материнками тоже нынче бывают подводные. Видюха в общем-то не нужна, встроенная графика вроде бы должна всем устраивать.
Что покупать и из чего выбирать?
ответить
Re: Выбор рабочей станции в современных реалиях
> Старых и никому не нужных ноутбуков, к сожалению, нет. Старого ПК, соответственно, тоже.
Плохо ищете. Ищите лучше.
ответить
Re: Выбор рабочей станции в современных реалиях
Совершенно не мое дело, но не удержался пройти мимо :)
Единственная ситуация, в которой я могу здраво воспринять и понять смысл вашего комментария - это факт вашего проживания где-то на территории Африки или Гренландии.
В России в любом - от, скажем, 100 тыс. чел. населения - городе всегда продаётся достаточно много старых ноутбуков и компьютеров. У меня к старой с разной степенью винтажности технике есть пристрастие, и я себе уже целую гору вполне рабочего старья купил в пределах 5 т.р - все в среднем двухъядерное до 2 ГГц и до 4 Гб оперативной памяти. Для освоения трёхтомника этого вполне достаточно.
Для жизни под юникс-подобными операционными системами лично мне требуется не меньше 2 ГГц частоты процессора и 4 Гб оперативной памяти. Такое в современной России можно найти за 10-15 т.р без особых проблем.
"Удобнее" всего искать такое, конечно, с помощью т.н. "сайтов объявлений". Если не хотите с таким связываться - как вариант, зайдите в ломбард. Старые ноутбуки всегда там можно найти, лично мне не удавалось поймать момент, когда их там совсем никаких нет в наличии.
В городах покрупнее частные компьютерные магазины есть почти всегда, и предложения там на любой вкус, и обычно есть полная возможность купить компьютер под ваши пожелания без необходимости связываться с крупными торговыми сетями, если вы таковые не любите. Иногда в таких местах можно найти хорошие старые комплектующие, из которых можно собрать достойный компьютер.
Демонизировать крупные сети вполне есть за что, но неоспоримого факта всё-таки не отменить - почти всегда у них есть в наличии машины без предустановленных форточек. Иногда даже с предустановленным линуксом.
Это я всё про российскую действительность, конечно. Если вы живёте на западе и у вас нет ни единой из вышеописанных возможностей - ну-с, похоже, не врали: реально загнивает :-D
ответить
Мои 5 копеек
Тоже влезу, тоже непрошенно
Собирать компьютер по ломбардам и авито чревато:
1) Всяческими отвалами комплектующих
2) Несовместимостью всего этого китайского барахла с Линукс системами
Не, это конечно весело и познавательно, мои первые компы так и собирались. Но это развлечение на уровне покупки старого мотоцикла - "день едешь, два чинишь".
По делу - советую ТС оригинальные Thinkpad'ы. Они неубиваемые, часто использовались в офисах (а потому их легко купить "с рук") и в большинстве своем у них заявлена поддержка Линукс-систем, так что проблем с драйверами не будет.
ответить
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 тысяч.
ответить
Re: Выбор рабочей станции в современных реалиях
Всегда считал паранойю самым важным личным качеством любого компьютерщика, но до такой степени проработки вопроса никогда не доходил.
ME вроде бы само по себе никаких пакетов никуда не посылает (на эту тему месяцами тщательно снифили трафик, ничего не нашли), так что пока машинка сидит за NATом, вроде бы ничего страшного происходить не должно. Хотя, конечно, никто этим сволочам не помешает изменить подход в следующих версиях.
Ну и если когда-нибудь всё-таки произойдёт переход на IPv6, придётся намного тщательнее следить за происходящим. Но я по-прежнему практически уверен, что IPv6 не станет основным протоколом Интернета никогда.
ответить
Re: Re: Выбор рабочей станции в современных реалиях
Ну, учитывая что у достаточно старых чипсетов можно почистить ME-регион до минимально необходимого для того, чтобы комп как-то стартовал, почему бы это не сделать? Всего-то надо заранее выбрать такую материнку, которая поддерживается и в Coreboot, и в me_cleaner и прошить её. Программатор стоит не так уж и дорого по сравнению с новым компом, тем более для многих достаточно простенького за 300 рублей с прищепкой так что даже выпаивать не надо.
У меня Thinkpad X200 почищен, но там ME регион можно просто удалить полностью и комп стартует. А китайские машины не почищены, но они и не подключены к инету. Если буду подключать, провентилирую тему, как там с чисткой ME и Coreboot. Но они были куплены собственно для экспериментов с новомодным UEFI, поскольку на всех остальных машинах у меня классический BIOS, поэтому я не спешу что-то делать.
ответить
Re: Re: Re: Выбор рабочей станции в современных реалиях
Программатор мало купить, его надо ещё и уметь.
ответить
Re: Re: Выбор рабочей станции в современных реалиях
Это интересно. Можете раскрыть мысль, пожалуйста? Какую роль будет играть IPv6 в будущем (количество устройств подключенных по нему будет ведь расти?) и почему он все-таки не станет основным протоколом?
ответить
Re: Выбор рабочей станции в современных реалиях
Подробный комментарий на эту тему содержится во втором томе трёхтомника "Введение в профессию", см. конец параграфа 6.2.3 — там примерно две страницы, набранные мелким шрифтом. Чего я не понял, так это что вы (и такие как вы) забыли на моём сайте.
ответить
Выбор звуковой карты
Могу посоветовать внимательней подойти к выбору звуковой карты, если вы, конечно, соберётесь её себе приобретать.
Сам недавно приобрёл себе карту чтобы звук получше стал и чтобы избавиться от помех. Постоянно слышу в наушниках как работает головка жёсткого диска. Модель Asus DG (интерфейс PCI). Только после покупки узнал, что для этой модели можно аппаратно регулировать громкость только для наушников. Получается, что в передней панели я звук регулировать могу, а звук в колонках, которые воткнуты сзади -- нет.
Можете проверить свою модель вот на этом сайте:
https://www.alsa-project.org/wiki/Matrix:Main
ответить
☞ From Thalassa CMS (unverified) Sun Jul 14 14:31:07 2024
userpic
Установил аватарку для аккаунта. Назвал фотографию по названию идентификатора пользователя, размер юзерпика 68x85. Отлично отображается в предпросмотре комментариев, все хорошо и на странице пользователя (где отображается имя, идентификатор и аватарка). Но вот проблема - при публикации комментария аватарка не показывается по совершенно неясным причинам. Как такое может быть? Предпросмотр же показывает все корректно. Версия Thalassa новая если что, самая новая. Используется шаблон templ_smoky
ответить
Re: userpic
Это уже проще, проблема наверняка в путях к той директории, которая содержит эту вашу аватарку. У генератора (т.е. самой Талассы, в смысле бинарника thalassa) и у CGI-программы совершенно разное виденье путей, поскольку они работают из разных директорий. Пока вы смотрите всякие превьюшки, CGI-программа до вашей аватарки добирается корректно, а когда дело доходит до генерации — thalassa уже со своей колокольни (из той директории, где исходники сайта) директорию с аватарками не видит.
По идее если в config.ini всё правильно прописано, такого быть не должно, но практика может с идеями расходиться. К сожалению, не видя ни машины, ни того, как у вас друг относительно друга расположены исходники сайта, директория с аватарками и веб-директория, я ну никак не смогу определить, что, где и как пошло не так.
ответить
Re: Re: userpic
Подскажите пожалуйста, какой из 4 путей отвечает(или может отвечать) за корректный просмотр? target, spool, userdbdir или sitesrc? У меня директория с аватарками лежит там же, где и сам сайт(не исходники). Я не могу понять почему все работает кроме одних автарок, по идее некорректные пути должны были мне отрезать хорошую часть возможностей (как это было с другими ошибками раньше)
ответить
Re: Re: Re: userpic
> У меня директория с аватарками лежит там же, где и сам сайт(не исходники).
Ага, тогда дело ровно в этом, под такой вариант Smoky не заточен, как и сама Таласса. Дело в том, что директория, где лежит сайт, предполагается, что существует временно, до следующей полной перегенерации (thalassa gen -r её переименует и на её месте новую сделает). Поэтому, соответственно, НЕ предполагается, что в этой директории будет храниться что-то сколько-нибудь ценное — только результат генерации, который можно перегенерировать в любой момент за несколько секунд.
Попробуйте директорию с аватарками переместить туда, где исходники, и там её обозвать "userpic" (вот ровно так, ни буковкой ни в ту, ни в другую сторону). Таласса при генерации сайта будет эту директорию "публиковать" ровно туда, куда надо (соответствующие директивы есть в base/base.ini), но при этом она ещё и будет видеть лежащие в этой директории юзерпики. thalcgi.cgi будет видеть уже "опубликованную" (читай - скопированную) директорию в вашем веб-пространстве.
ответить
Потрясающе
Оно сработало! Спасибо!!!
ответить
☞ From Student (unverified) Sat Jul 13 21:53:27 2024
Архитектура ЭВМ на базе RISC-V
Добрый день!
В программе второго семестра ВМК МГУ есть курс архитектуры ЭВМ и языка ассемблера. Есть ли смысл переводить этот курс на базу RISC-V?
В качестве аргумента "за" указывается, что у RISC-V система команд более стройная и логичная, чем у x86. Однако есть риск, что в качестве рабочей среды будет использован эмулятор RARS.
Честно говоря, я не представляю, как можно всерьёз заниматься программированием в эмуляторе. Возможно, его сравнивают с эмулятором MASM, а не с нативной трансляцией через NASM. Но кажется, что полноценная сборка руками через NASM+GCC позволяет гораздо лучше прочувствовать, что происходит, и добавляет какой-то осмысленности, что ли. Сейчас получается, что если я захочу настоящую программу собрать под RISC-V (и эмулятор меня не устраивает), то нужно будет повозиться с QEMU, раздобыть дистрибутив под RISC-V. Как будто просто порог входа повышают для энтузиастов без большого профита (субъективно для меня, по крайней мере).
ответить
Re: Архитектура ЭВМ на базе RISC-V
Лично я всегда говорил, что эмуляторы в обучении программированию недопустимы, и если у вас нет класса машин соответствующей архитектуры, то не может быть вообще никакой речи о курсе "Арх.ЭВМ" на основе такой архитектуры.
Но я много чего говорил — в частности, о категорической недопустимости Си в первом семестре (в итоге огребли буквально всё, о чём я предупреждал ещё в 2010 году). А ещё о том, что факультет якобы computer science, выпускники которого не имеют понятия о частично рекурсивных функциях — это даже не нонсенс, это преступление.
К счастью, я уже больше двух лет никакого отношения к МГУ не имею и мне более-менее всё равно, что там сейчас творится. Предвидя следующий вопрос: нет, хорошо там стать не может. Поздно, точку невозврата давно и прочно проскочили.
ответить
Re: Архитектура ЭВМ на базе RISC-V
Есть ещё ж RISC-V микроконтроллеры, 32-битные в районе 10 долларов (недавно заказал себе такой для экспериментов), 64-битные в районе сорока, правда выбор поменьше. Полноценный риск комп с графонием обойдется в целого Франклина 0_0
Так что есть варианты помимо Qemu.
ответить
Re: Re: Архитектура ЭВМ на базе RISC-V
Как вы себе представляете компьютерный класс с этими микроконтроллерами, особенно если учесть, что схемотехника на этом факультете не затрагивается вообще, совсем, даже краем?
ответить
Re: Re: Re: Архитектура ЭВМ на базе RISC-V
Я это писал юзеру, который выше страдал что у него только один вариант - QEMU. Если не эмуляторы, то для массового обучения институтам стоит разоряться на что-то вроде VisionFive2, наверное (цену которого я упомянул, но не называл модель).
ответить
Re: Архитектура ЭВМ на базе RISC-V
Ещё раз, и медленно: вы вообще о чём? Насколько я понимаю, чтобы эту штуку просто запустить, нужен программатор.
Просто примите как данность: там, где не занимаются схемотехникой, компьютер — это такое устройство, которое ставится/кладётся на стол, подключается к розетке 220V, к монитору, клавиатуре, мышке, витой парой к сетевой розетке — и работает. Всё остальное компьютером не является.
ответить
Re: Re: Архитектура ЭВМ на базе RISC-V
Судя по картинке, есть куда подключить пару клавиатур, мышек, HDMI-монитор и вставить 1-2 витых пар от сетевых розеток. И есть, куда вставить хвостик адаптера 220V.
https://habrastorage.org/r/w1560/getpro/habr/upload_files/2a3/eec/976/2a3eec976c78ad6a96ecf5279f3fe471.png
ответить
Re: Re: Re: Архитектура ЭВМ на базе RISC-V
Это всё есть, да. А вот грузиться с флешки она, как я понял, не умеет, т.е. ей образ Linux'а нужно программатором заливать. Что довольно странно на фоне традиций, заложенных всякими Raspberry и Orange.
ответить
Re: Re: Re: Re: Архитектура ЭВМ на базе RISC-V
Строго говоря там тоже как-то так надо, просто там SD-карта куда нужно образ заливать отдельная от самого компа, поэтому достаточно через картридер её воткнуть в комп и залить образ. Правда у нового RPi вроде загрузка с флешки появилась. Или нет? OrangePi4 во всяком случае без SD-карты не проявлеяет абсолютно никаких признаков жизни на дисплее и UART. У них то что в обычном компе было бы в микросхеме BIOS тоже находится на SD-карте.
ответить
Re: Архитектура ЭВМ на базе RISC-V
Когда sd-карта "отдельная", я её воткну в тот кардридер, который обычно использую для фотика и видеокамеры, скажу dd и подожду. Собственно, все нормальные одноплатники требуют именно этого — скачал образ, залил на sd, воткнул, загрузился. Есличостряслось (tm) — выдернул sd, воткнул в кардридер, смонтировал, подредактировал файлы, воткнул обратно в одноплатник, загрузился.
Для ЭТОГО, которое обсуждается, требуется программатор.
NB: я вообще понимаю, что такое программатор. Я программаторы сам использовал, много и со вкусом. Но мне каждый раз электронщик выдавал нужный тип программатора, говорил, чтО это и куда втыкать, я потом смотрел, какая софтина с ЭТИМ работает и делал чонадо. Ключевое слово тут — электронщик. Потому что лично я — не электронщик ни разу, и без помощи со стороны такового не разберусь, ни что за программатор у меня в руках, ни куда его втыкать.
ответить
Re: Re: Архитектура ЭВМ на базе RISC-V
> Для ЭТОГО, которое обсуждается, требуется программатор.
Там на обратной стороне есть слот под microSD.
https://www.phoronix.net/image.php?id=visionfive2-riscv-benchmarks&image=starfive_visionfive2_4_show
ответить
Re: Архитектура ЭВМ на базе RISC-V
Я охотно допускаю, что оно не умеет грузиться с SD. В противном случае мне совершенно категорически непонятно, почему единственный виденный мной текст о том, как с этой железкой обращаться, содержал фото с зажимами от программатора, предлагал именно этот способ заливки образа и ни словом не упоминал возможность загрузиться с SD.
А ещё мне не вполне понятно, за каким таким дьяволом мы эту железяку так долго обсуждаем.
ответить
Re: Re: Архитектура ЭВМ на базе RISC-V
Подозреваю, что можно один раз залить программатором что-то вроде PC-шного BIOS, но конкретно под эту железяку и потом спокойно грузиться хоть с SD, хоть с флешки, хоть откуда. Единственное что непонятно, это почему так не сделано с завода. Или сделано и та статья была про восстановление битого загрузчика?
ответить
Re: Re: Re: Архитектура ЭВМ на базе RISC-V
> Подозреваю
Подозревайте дальше. Это уже вообще совсем беспредметный разговор.
ответить
☞ From Parthen (unverified) Sat Jul 13 16:21:02 2024
Unicode и Си
Есть программа, которая должна читать (без записи) файл на языке, отличном от английского (лично мне нужен русский, но хотелось бы не ограничиваться им).
Мой vim (из-за локали ru_RU.UTF-8, так понимаю) сохраняет любой файл на русском в UTF-8. Просто читать и печатать на stdout этот файл получается без проблем, если указать в программе локаль.
Проблемы начинаются, когда символы из этого файла пытаемся хоть как-то обработать. Файл на UTF-8 это бинарник, однако гугл упорно пытается меня убедить что это текст, и обычные функции по-типу strlen должны работать (и они работают, пока файл за ASCII не выходит, т.к. strlen байты считает).
Для подсчета же символов, гугл предлагает мне "mbstowcs", которая по всей видимости есть только в C++, причем только в новомодном, т.к. там wchar_t
Я близок к тому, чтобы начать вручную написать свои функции и читать файл по байтам. Но что-то такое чувство, что я изобретаю велосипед. Как правильно к этому подступиться?
ответить
Re: Unicode и Си
> если указать в программе локаль.
Без указания локали тоже всё получится.
> читать файл по байтам. Но что-то такое чувство, что я изобретаю велосипед. Как правильно к этому подступиться?
Именно так. Это как раз тот случай, когда велосипед собственного изобретения окажется намного лучше всего, что нагородили авторы всевозможных библиотек, начитавшиеся разнообразных блджад стандартов. Если нужен подсчёт символов, то каждый байт тупо и цинично проверяется на то, не равны ли его старшие биты 1 и 0 (т.е. байт имеет вид 10xxxxxx), и все такие байты в подсчёте не участвуют, т.к. это хвостовые байты от символа. В программе вместо локали предусматривается один глобальный флажок: работаем мы с utf8 или нет ("нет" означает однобайтовую кодировку, больше ничего не бывает, по крайней мере не имеет права бывать). Впрочем, ни на что кроме подсчёта символов этот флажок не влияет.
Локали во всех их проявлениях убиваются ссаными тряпками на дальних подступах.
ответить
Re: Re: Unicode и Си
С юникодом всё не так просто. То что вы сказали — байты не 10xx xxxx — это не символы, это кодепоинты. Один символ может состоять из нескольких кодепоинтов, если это составной глиф вроде á ü и тд, разложенный на базовую букву и комбинирующую диакритику. Те же символы можно закодировать и одним кодепоинтом и обычно они так и кодируются, если диакртика только одна. То же самое с эмодзи, они содержат модификаторы. Кроме того, символы бывают Wide и Narrow и если требуется не длина строки в символах, а ширина выделяемого поля, то широкие символы (в основном китайский и тд) занимают два знакоместа.
ответить
Re: Re: Re: Unicode и Си
С юникодом всё как раз намного проще. Юникод — это комитетский бастард, не имеющий права на существование. За неимением альтернатив приходится его до определённой степени терпеть, но именно что до определённой. В частности, ни диакритические "символы", ни, скажем, такие "глифы", в которых в глифе задаётся ещё и цвет (всякие эмодзи, тортики, слоники и прочее в таком духе) поддерживаться не должны. Вот то есть категорически. Руки отрубать за попытки поддержать что-то подобное. Больше того, если такая поддержка где-то уже есть, её следует выпиливать.
Конкретно по поводу диакритик — эти кодпойнты должны рассматриваться и отображаться как отдельные символы, а любые поползновения сказать, что это якобы неправильно, следует пресекать фразой "мудаки из комитетов нам не указ".
ответить
Re: Re: Re: Re: Unicode и Си
Андрей Викторович, а какой вариант кодирования многоязычных текстов вам видится лучшим, чем юникод? Мне в голову приходят только "переключатели кодировок" посреди текста, или особые последовательности для non-ASCII символов, но это даже хуже юникода, во всяком случае, в варианте utf8.
ответить
Re: Unicode и Си
Никакие переключатели в большинстве случаев не нужны, это я вам как пользователь koi8-r говорю. Проблема полностью притянута за уши. Хотя, конечно, если кому-то до усрачки нужны в одном тексте две и более азбуки, отличные от латиницы, то для таких извращенцев именно что переключатель второй половины кодовой таблицы был бы решением оптимальным.
Далее: если выкинуть из юникода кодпойнты, соответствующие диакритическим знакам (из-за чего, например, русские "ё" и "й" имеют два представления), а также всякие эмодзи и прочие псевдо-глифы, которые предполагают не глиф в классическом смысле, а цветную пиктограмму — то это уже будет лучше. чем юникод. А если взять ту же самую utf-8 и изменить правила вычисления кодпойнта так, чтобы двухбайтовые последовательности кодировали только кодпойнты начиная со 129 (вот буквально сделать там в правилах явное +128), трёхбайтовые — начиная с кода 2048+128+1, четырёхбайтовые соответственно с 65536+2048+128+1, т.е. так, чтобы никакую последовательность байтов, в которой за 110xxxxx следует ровно один 10xxxxxx, за 1110xxxx следуют таких два, за 11110xxx следуют три — вот никакую такую последовательность не приходилось объявлять невалидной — то это будет заведомо лучше, чем utf8.
На самом деле первично тут не техническое решение, а наличие стандартизационного комитета. Если поганый unicode consortium разогнать к чертям, а все высранные им "документы" приравнять к надписям на заборе — за несколько лет вся эта вакханалия придёт к некой приемлемой норме.
Меня, впрочем, слезть с koi8 никто не убедит в любом случае.
ответить
Re: Re: Unicode и Си
А да, ещё желательно было бы наверное проверять на валидность UTF-8 таким образом:
Если символ имеет формат 0y (далее y - недостающие биты до 8 бит), то длина один байт и 10y после него быть не должно. Если символ имеет формат 110y то длина два байта и должен быть ровно один 10y, 1110 — три байта и должно быть два 10y после, 1111y — четыре байта и тд и нужно посчитать сколько за ним идёт 10y, которые могут быть только концевыми байтами. Биты не входящие в маску. определяющую длину символов конкатенируются и получается номер символа в юникоде.
Overlong кодировки считаются недопустимыми, и в софте, который их не проверяет могут встречаться уязвимости. Например код 01100001b — латинская буква a, код 11000001 10100001 по идее тоже "a", но он должен считаться инвалидным. Если программа пропускает такие альтернативные кодировки, то фильтры, вроде режущих HTML-код могут не сработать.
ответить
Re: Re: Re: Unicode и Си
Программа, написанная психически здоровым человеком, должна быть настолько unicode-agnostic, насколько это возможно. В частности, если программа по какой-то причине разбирает HTML или какой-то другой XML (что, опять же, можно делать только от полной безысходности, поскольку все SGML-like разметки суть одно химически чистое мракобесие), она должна в роли открывающей угловой скобки воспринимать исключительно байт 0x3C и более ничего.
Если программа по какой-то причине вынуждена вычислять и как-то там анализировать значения юникодных кодов, представленных в utf8, то она, конечно, перестаёт быть unicode-agnostic, но это не значит, что все программы должны перестать быть unicode-agnostic.
Более того, в одной программе разные подсистемы могут быть и не быть unicode-agnostic. В частности, любой лексический и синтаксический анализ, и вообще любой парсинг следует, очевидно, проводить на исходном потоке байтов, не рассматривая этот поток как utf8, даже если он в utf8. Тогда и проблем с "упущенным" "некорректным" "представлением" активного символа не будет.
Это, кстати, к вопросу о том, почему в текстах на формальных языках non-ascii chars заведомо и категорически недопустимы.
ответить
Re: Re: Re: Re: Unicode и Си
Ну вот предположим, у вас CMS написана по такому принципу, а какой-нибудь комментатор берёт и пишет <script whatever> но только < кодирует как оверлонг, ваша CMS пропускает это, а браузер интерпретирует оверлонг как угловую скобку, выполняет скрипт и отдаёт например логин и пароль на сервер того, кто эту фиговину запостил.
Пример теоретический поскольку, я подозреваю, что браузеры всё-таки на оверлонги не ведутся. Но кто их знает...
ответить
Re: Re: Re: Re: Re: Unicode и Си
Ну вот предположим, что у бабушки есть МПХ. Тогда, видимо, она будет дедушкой.
Нажми Ctrl-U и посмотри, в какой кодировке отдаётся этот сайт. Это раз. К тому же пароли тут одноразовые и вдобавок никогда не вводятся на страницах с пользовательским контентом. А два — реально браузеры, конечно, пишут отборные говноеды, но всё-таки не идиоты, поэтому, разумеется, ничего подобного произойти не может. Да и вообще, кто считает нужным по какой-то причине НЕ быть unicode-agnostic, тот и трахается с последствиями комитетского дебилизма, а убеждать вообще всех (в том числе тех, кто сам никак юникод не интерпретирует) принимать во внимание всю эту комитетскую херню — эдак можно договориться до встраивания фильтров UTF, например, в стек TCP/IP в ядре. Ну а что, а вдруг чего, а?
И сделай одолжение, свали отсюда. Мне тут не нужны апологеты юникода, а равно и такие персонажи, которые всех окружающих убеждают в необходимости тратить силы на борьбу с заведомо несуществующими проблемами. Силы можно потратить с большей пользой.
UPD: В словосочетании "свали отсюда" какое слово непонятно, первое или второе? Очередь на премод тут пока ещё под моим контролем, и это значит, что твои комменты тут больше не появятся.
ответить
Re: Re: Unicode и Си
Кстати, мультибайтовые последовательности встречаются даже в Plain ASCII, а именно: и CR LF и просто LF — это один символ, хотя CRLF занимает два байта.
ответить
Re: Re: Re: Unicode и Си
Это уже просто чушь, никто, нигде и никак не заставляет нас рассматривать CRLF как "один символ". Намного проще CR считать обычным whitespace'ом и/или просто тупо игнорировать.
ответить
Re: Re: Re: Unicode и Си
Почему CR LF - один символ? Это как раз честные 2 символа в ASCII. Просто так уж повелось, что виндосовские текстовые редакторы требуют эти два символа, чтобы показать перевод строки, но двумя символами (в терминах кодировки) эта комбинация быть не перестает.
ответить
Re: Unicode и Си
Как ни странно, это не только виндосовские редакторы. Текстовые протоколы в Интернете (по меньшей мере HTTP, SMTP и telnet, за остальные не поручусь) тоже, если следовать букве спецификации, требуют разделять строки CRLFом. Тяжкое наследие времён телепринтеров, где прокрутка бумаги на строчку вниз и возврат каретки в крайнюю левую позицию были двумя разными (физическими, т.е. механическими, ну или, если угодно, электромеханическими) действиями.
ответить
Re: Re: Unicode и Си
Неужели кто-то когда-то набирал электронные письма прямо в консоли SMTP-сервера, пользуясь электромеханическим телетайпом?
ответить
Re: Unicode и Си
Достоверно я этого не знаю, но практически уверен, что кто-то когда-то — наверняка.
ответить
CR LF в протоколах
Изначальные прикладные протоколы ( в т.ч до TCP ) были построены вокруг сетевых виртуальных терминалов (NVT) с виртуальной "клавиатурой" и виртуальным "принтером". Одним из основных практических применений APRANet было подключение к системе разделения времени, работающей на другой ЭВМ, без непосредственного соединения терминала (напрямую или через аналоговые линии связи). Последовательность управляющих символов CR LF были выбрана для передачи "новой строки" по сети. При этом сохранялась возможность отдельного использования CR (и LF) прикладными программами.
ответить
Re: Re: Unicode и Си
>Без указания локали тоже всё получится.
У меня не получалось. Возможно, дело в ncurses, без него все печатается нормально, а с ним:
Vasya wrote: Муха села на варенье, вот и все стихотворение.
Vasya wrote: ~\ ~C ~E ~A ~@ ~L , ~B ~A ~A ~B ~E ~B ~@ .
Код вот (в заголовочных файлах убраны угловые скобки, иначе сайт их вырезает):
>Локали во всех их проявлениях убиваются ссаными тряпками на дальних подступах.
Кстати, где подробно почитать почему? Я где-то на уровне печенки понимаю, что локали кодировку без моего ведома переделывают, но видимо пришло время, когда надо в этом разобраться. (Поиск по гостевой успехов не принес)
ответить
Re: Re: Re: Unicode и Си
> Возможно, дело в ncurses
Так и есть, да. У ncurses свой способ вывода, и ей надо знать, utf это или не utf, а она это, как всякая "добропорядочная" (читай — мейнстримная) либа, узнаёт из установленной локали.
Ну, я не знал, что вы ncurses используете. Обычные программы, у которых ввод из stdin и вывод в stdout, вполне могут себе позволить быть encoding-agnostic.
> Кстати, где подробно почитать почему?
Потому что зависимости от внешних файлов на ровном месте, например. А ещё потому что многие (к счастью, не все) программы, использующие возможности locales, невозможно убедить одновременно разговаривать по-английски и допускать обработку русских букв — потому что безответственные мудаки, их написавшие, переменную LC_ALL обрабатывают, а на LANG/LANGUAGE кладут болт.
По поводу угловых скобок — заменяйте знак "меньше" на < и всё будет.
ответить
Re: Re: Re: Re: Unicode и Си
Понял, спасибо!
>По поводу угловых скобок — заменяйте знак "меньше" на < и всё будет.
Было бы здорово указать это на странице отправки комментария
ответить
☞ From Григорий Кузнецов (unverified) Fri Jul 12 10:09:33 2024
pascal
Приветствую уважаемых посетителей сайта!
Начинал программировать на python, но после прочтения первого тома "Программирование: введение в профессию" практически полностью перешел на pascal. Благо мне требуется достаточно простая работа с текстовыми файлами и csv таблицами, хотя в них по 20-40 столбцов и несколько тысяч строк.
В качестве основной рабочей среды, после нескольких эксперементов, решил использовать Arch Linux и zsh командную строку. Сильно нравится кастомизация.
На днях приступлю к изучению второго тома.
Выражаю глубокую благодарность Андрею Викторовичу Столярову за учебные пособия! Особенно за их бесплатные версии.
ответить
Re: pascal
Отмечу, что никаких "платных версий" моих книг не существует, на сайте выложены реальные оригинал-макеты, с которых печатались бумажные книги, т.е. эти "версии" полностью идентичны. Так что говорить о "бесплатных версиях" не вполне корректно.
Вообще я бы не советовал Паскаль рассматривать как инструмент для работы. В книге он используется исключительно как учебное пособие.
ответить
Re: Re: pascal
Почему не существует? А бумажные?
А почему бы и нет? Работет же...
ответить
Re: Re: Re: pascal
> Почему не существует? А бумажные?
Читать не умеете? А зачем вам тогда книги?
> А почему бы и нет? Работет же...
А, ну если вы применяете тезис "работает же", то мои книги для вас бесполезны, не тратьте на них время.
ответить
☞ From Thalassa CMS (unverified) Thu Jul 11 18:10:50 2024
Thalassa CMS
Очень странная история с капчей. В процессе настройки сайта все отлично, у меня все работает. Но вот проблема - отваливается капча по неизвестным причинам. То есть я правильно ее ввожу, а мне говорят failed абсолютно всегда. Не подскажете область, в которой нужно искать проблему? У меня полностью рабочий сайт, но капча все ломает своей "непроходимостью" и ошибок не выдает, как будто я ее действительно ввожу неверно. Помогите пожалуйста, Андрей Викторович
ответить
Re: Thalassa CMS
Ну, я такого не видел ни разу. Но чтобы хотя бы просто начать думать в сторону проблемы, стоит, наверное, сообщать подробности, а не просто "не работает". В частности, талассовская капча всегда выдаёт диагностику — сообщает, по какой конкретно причине она сочла капчу непройденной, но вы нам тут даже этого сказать не хотите.
ответить
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:
ответить
Re: Re: Re: Thalassa CMS
> wrong captcha answer.
Теперь хотя бы знаем, обо что оно обломалось. А не может быть так, что у вас, например, два экземпляра thalcgi.cgi, один показывает форму с капчей, а обрабатывает уже другой? Или, скажем, конфигурационные файлы от Талассы старой версии (0.2.* или ещё старее), а бинарь thalcgi.cgi уже от новой? Вот, скажем, если на страничке с капчей Ctrl-U нажать, там в коде формы есть поле captcha_nonce?
ответить
Re: Re: Re: Re: Thalassa CMS
Такого поля нет и да, я переносил старые конфиги в новую версию талассы и с новыми бинарниками
ответить
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, как это по второй ссылке рассказывается.
ответить
Re: Re: Re: Re: Re: Re: Thalassa CMS
Как же приятно прийти на все готовенькое, буквально 2 дня назад было тоже самое, спасибо большое!
ответить
Re: Thalassa CMS
Ага, и для кого я в новостях на сайте Талассы подробно писал, как правильно мигрировать на новые версии?
Тут уж извиняйте, пока версия начинается с нолика, я обратную совместимость поддерживать не возьмусь, нынешний код Талассы для этого слишком сырой.
ответить
Сработало
Спасибо огромное за помощь!
ответить
Re: Сработало
Вот уж не жалко :-) заходите ещё.
ответить
☞ From Anonymous (unverified) Mon Jul 8 20:01:33 2024
Опечатки в архивах
Это мелочь, конечно же, но в архивах гостевой книги на этом сайте заметил пару штук, похожих на опечатки.
В Архиве гостевой книги по 25 сентября 2012 г. последний коммент датирован 31 мая 2013 года.
В Архиве гостевой книги с 25.09.2012 по 02.06.2019 последний коммент датирован 23 апреля 2021 года.
ответить
Re: Опечатки в архивах
Мне даже интересно, как вы предполагаете избежать подобных "опечаток", если только не закрывать возможность комментирования на архивных страницах (а закрывать я её не хочу).
Так или иначе, даты в заголовках обозначают период, когда данная страница имела статус действующей гостевой книги. Всё, что после указанной даты — это комменты, оставленные уже на архивной странице.
ответить
Re: Re: Опечатки в архивах
Никак не предполагаю, просто увидел и решил сказать. Про возможность оставлять комменты в архивных страницах я не знал (точнее, не обратил внимание, теперь уже увидел соответствующую кнопку), думал, что если страница стала архивом, то быть ей навечно неизменяемой.
ответить
☞ From Вова (unverified) Fri Jul 5 15:40:37 2024
Несколько слов благодарности
Спасибо автору этого сайта за его деятельность. Пока на планете есть такие люди у нас всех есть надежда. Обещаю, что те знания, которые я впитаю из Ваших книг, используя для синтеза новых знаний, которые так же свободно передам другим.
ответить
☞ From anon (unverified) Mon Jul 1 17:29:08 2024
Raspberry Pi
Вряд ли коммент пройдёт модерацию, но не могу не поделиться "радостью". Только что получил по почте raspberry pi, и в бумажной инструкции пара примеров, как помигать лампочкой на ПИТОНЕ, Карл!
Вот прям так и написано "import some_shit\n\npognali()"
Аж чаем поперхнулся, чуть плату не залил. Хотя стоит уточнить, наверное, что это не голый pi всё-таки, а наборчик "для чайников" от сторонних продавцов, мануальчик от них же
ответить
Re: Raspberry Pi
Не вижу ничего удивительного. Питон — это такой специальный трёхколёсный велосипедик для тех, кто учиться кататься не хочет, но при этом почему-то очень хочет то ли просто кататься (не учась), то ли при этом ещё и всем говорить, что он ваще прям крутой велосипедист, что аж куда деваться.
У меня был синтезатор (ну, в смысле клавишный электронный музыкальный инструмент, а не что-то другое), так там был такой специальный режим, в котором жмёшь какие попало клавиши, главное чтобы б/м в такт, а ОНО воспроизводит мелодию из памяти, но при этом тщательно делает вид, что это ты сам играешь. Ну то есть если не нажать, то звука совсем не будет, только ритм-секция, а если нажать, то, насколько я понял, на что-то повлиять можно только вида "на октаву выше / на октаву ниже", оно само при этом подбирает аккорды нужным образом и вот это вот всё.
ответить
Re: Raspberry Pi
Я так думаю, помигать лампочками можно и из командной строки, ибо это GPIO, и ядро даёт доступ к GPIO через sysfs. Ещё есть соответствующие файлы устройств в /dev , которыми можно воспользоваться, например, в программах на C.
А мануальчик можно просто проигноровать. И не покупать всякие наборчики.
ответить
☞ From Anonymous (unverified) Sat Jun 29 14:47:15 2024
Работа в IT на западе
Андрей Викторович, добрый день.
Нашел одну статью [url removed] (прошу прощения за ссылку на этот сайт, предлагаю удалить ее из коммента, если вам не нравится), в которой автор огорчен тяжестью поиска работы на западном рынке. Если кратко, то основная мысль статьи такова: в Европе и США опытные разработчики подолгу ищут работу, конкурс на вакансии дикий, приходится соглашаться на низкие зарплаты, рынок работника закончился. Статья по большей части эмоциональная, конкретных фактов или исследований не содержит (разве что пару скриншотов), поэтому у меня есть основания ей несколько не доверять.
Вы писали ранее, что сейчас находитесь в Европе. Наблюдаете ли вы такую ситуацию с рынком труда в IT? Если да, то как вы думаете, может ли такая ситуация случиться во всем мире?
Сам я в РФ, искать работу в западных компаниях не пробовал.
ответить
Re: Работа в IT на западе
Абсолютная чушь, с таким же успехом можно заявить, что в Европе в каждом городе каждый день с утра обязательно проводят гей-парад, после которого злые геи гоняются за натуралами и всех, кого догонят, делают геями. Ну то есть вот просто вообще, в принципе ничего общего с реальностью. Подозреваю, что это заказуха за деньги по принципу "авось кто поверит".
Самому мне сейчас (во всяком случае, пока) поиск IT-шной работы не актуален, но у всех знакомых, кто что-то искал околопрограммистское, вот эта вот конверсия ("приглашение на первый этап") примерно с двух отправленных резюме на третье, и дольше месяца пока что никто оффера не ждал. Как был дефицит программистов, так и есть, и никуда деваться не собирается.
ответить
Re: Работа в IT на западе
Непрошеное и совершенно банальное мнение безвестного анонима.
Понаблюдав за рынком в течение нескольких прошлых лет, я для себя пришел к выводу: дефицит программистов - явление постоянное и предпосылок к изменению ситуации не предвидится.
Противоположные мнения довольно часто аргументируются, например, таким образом: ряяя, все слышали про большие зарплаты программистов, щас они все как станут программистами, щас они все как обвалят спрос, ряяя, конец вашему ойти!
Если заменить в этой обобщенной цитате "программист" на что-то типа "хирург", "пилот гражданской авиации", "инженер-нефтяник" etc, то можно ощутить, насколько это утверждение зазвучит сомнительно; сложность освоения профессии, упоминаемой в высказывании, при этом не слишком сильно изменится.
Я, конечно, упрощаю и утрирую, но всё-таки программирование - это не для всех и даже очень не для всех, как и другие вышеназванные профессии; не очень понятно, откуда тут взяться огромной конкуренции - такой, чтобы работу тяжело было искать; процент людей, к нему способных и желание имеющих, в новых поколениях не увеличивается.
Сказанное, конечно, относится, к родам деятельности программиста, в которых ментально здоровому человеку можно принимать участие без вреда для себя.
Весь же этот "огромный конкурс" на работу за еду иногда волнами возникает в вебе среди джуниор пистонистов, пыхыпышников, жопоскриптеров и прочих волшебных существ - пользователей интерпретаторов, чья деятельность имеет общность в своей пахучести, вредоносности и полном отсутствии необходимости умения мыслить. Лично мне их не слишком жалко, даже если этот кризис у них реально прямо сейчас существует.
Если вы работаете со стеком, который хотя бы издалека на говно не похож, и даже если вы при этом реально начинающий программист, то конкурсов и безработицы, мне кажется, можно не опасаться ни сейчас, ни через, скажем, десять лет.
Здесь начинающий программист - человек, который умеет программировать и написал какие-то по-настоящему полезные, не обязательно монструозного размера программы, которыми можно пользоваться и которые реально кому-то были нужны, но ещё не имеет опыта серьезной коммерческой деятельности.
Клепание сайтов с помощью жабаскриптовых фреймворков/ботов для телеграма на питоне/прохождение всяких шестимесячных онлайн курсов и всякая подобная жизнедеятельность в целом не имеют отношения к сущности вышеприведённого определения или к достижению задаваемого этим определением уровня профессионализма.
Географическое положение тут почти ни при чем - лишь бы вы находились в стране, где айти вообще развито и востребовано как отрасль экономики.
ответить
Re: Работа в IT на западе
Упд, не заметил у топикстартера слово "опытные" перед словом "разработчики", тогда весь мой опус "банальное мнение безвестного анонима" несколько теряет смысл.
В любом случае всерьез ту статью сложно воспринимать, даже не проверяя ситуацию. Кого там этот автор понимал под "опытными разработчиками"? Какой уровень зарплаты за какой грейд им воспринимался как низкий? Какое направление имелось в виду? Понятие некоего общего рынка разработчиков, который может подниматься и обваливаться разом как нечто общее, на мой взгляд, совершенно эфемерное и бесполезное как объект анализа, на который можно ориентироваться при принятии каких-то решений.
ответить
Re: Работа в IT на западе
Ссылку на статью я, конечно, потёр, и восстанавливать не буду, но, наверное, нет проблем её отыскать в недрах Хабра, было бы желание. Так вот, основной вывод этого опуса — что якобы чуть ли не единственная правильная стратегия сейчас состоит в возвращении в россию.
Sapienti sat. По-моему, не надо искать сложностей там, где их нет, просто кто-то отрабатывает грант на очередную ИПСО.
ответить
Re: Re: Работа в IT на западе
>чуть ли не единственная правильная стратегия сейчас состоит в возвращении в россию
Тогда все куда понятней.
>нет проблем её отыскать в недрах Хабра, было бы желание
Уверен, нашел бы больше, чем одну.
Если это такая очевидная propaganda, то не очень ясно, на кого это рассчитано. Если релокация произошла вследствие несовпадения моральных, политических и прочих социально-философских взглядов релоканта с современной идеологией РФ, то при чем тут такая презренная вещь, как величина зарплаты?
Если же политические взгляды релоканта индифферентные и дело только в "конкурсах" и в деньгах, то почему надо именно в Россию возвращаться из непонравившегося места? Может, стоит попробовать в Японию махнуть. Странно с точки зрения экономики в сфере информационных технологий делить мир на Россию и нероссию.
В этом же случае тогда уж стоило и вовсе не уезжать - и так понятно было, что российская экономика лететь в полные тартарары не собирается, и уж точно не ее "айти-сфера". (Я, если что, не сторонник какой-либо из идеологий существующих в контексте ситуации политических лагерей.)
В общем, мани квещнс, ноу ансверс, как всегда.
ответить
Re: Re: Re: Работа в IT на западе
> В общем, мани квещнс, ноу ансверс, как всегда.
Не совсем по теме, но тут я бы предпочел сказать "а лот оф куешнс, ноу энсерс", вместо "мани", потому что это смахивает на "деньги" если не верно произнести это слово
ответить
☞ From timar07 (unverified) Fri Jun 28 15:41:56 2024
CLI утилита для учета финансов
Уважаемый Андрей Викторович, здравствуйте!
В последнее время у меня появилась проблема учета финансов. До этого вел все записи в блокноте, однако доходы/расходы стали учащаться, и первая мысль, которая возникла в данной ситуации, была имнно об автоматизации этого рутинного процесса.
Вопрос состоит в следующем: сталкивались ли Вы с подобной проблемой? Если да, то пользуетесь ли Вы какой-нибудь CLI утилитой (по типу ledger) или же Вы предпочитаете другой способ ведения домашней бухгалтерии?
ответить
Re: CLI утилита для учета финансов
См. сюда, ближе к концу текста коммента.
ответить
☞ From chum (unverified) Fri Jun 28 03:46:56 2024
наебать издательство
Некоторые деятели на ютубе (обойдемся без конкретных ссылок) утверждают, что сперва издали книжку на бумаге, при этом имущественные права, естественно, были переданы правоторговцам. Затем, когда основная масса книг была распродана в магазинах, они слили свою электронную версию в открытый доступ. Насколько этот сюжет похож на правду? Можно ли наебать издательство подобным способом, и какими юридическими последствиями всё это может обернуться?
ответить
Re: наебать издательство
Для начала:
> при этом имущественные права, естественно, были переданы правоторговцам
Что в этом "естественного"?! Почему вы вообще считаете возможным утверждать, что передача прав издателю "естественна"? Вы вообще сайтом не ошиблись? Копирастов тут не любят и даже обижают.
Чтобы было понятно: все книги, представленные на этом сайте, были совершенно официально изданы на бумаге, но ни на одну из них права не были никому переданы, т.е. я остаюсь единственным обладателем всех существующих в природе прав на все свои книги. Чего и всем желаю.
Теперь по основному вопросу. Технически ничего невозможного здесь нет, и, более того, я вполне понимаю авторов, которые так поступают. Хочется даже сказать, что они правильно делают, но вообще-то этого сказать нельзя, потому что правильно — это с самого начала объяснить издателю, что никакой передачи прав не будет и договор может быть только лицензионным. Между прочим, действующий закон (четвёртая часть ГК РФ) заточен именно под такой вариант гражданского взаимодействия между автором и издателем, а то, что издатели из кожи вон лезут, чтобы навязать автору именно что передачу прав — это, во-первых, повод относиться к издательской мафии так, как к ней следует относиться: как к паразитам, подлежащим истреблению; во-вторых, это один из аргументов, почему так называемое "авторское" право на самом деле никакого отношения к интересам авторов не имеет; и в-третьих, естественно, это повод требовать отмены интеллектуальной собственности как юридического института.
С сугубо юридической точки зрения описанная вами модель поведения представляет собой нарушение условий гражданско-правового договора. Теоретически издатель может подать в суд и поиметь с такого автора "много денег", но на практике я не слышал ни разу об успешных судебных делах такого рода. Подозреваю, что преследовать автора за нарушение авторских прав на его же произведение — это несколько рискованно с репутационной точки зрения, проще сделать вид, что книгу слили в сеть злые пираты, которых невозможно найти.
Но это мои домыслы, а рассказать, как там всё обстоит на самом деле, может разве что юрист, реально специализирующийся на гражданских исках, связанных с авторским правом. NB: не всякий юрист, а именно такой, у которого есть реальный (и притом большой) опыт именно исков такого рода. Я неоднократно убеждался, что юристы, которые специализируются в других областях, имеют об авторском праве весьма смутное представление, вплоть до того, что *я*, не будучи юристом, таки ориентируюсь в этой области права лучше их.
ответить
Re: Re: наебать издательство
Независимые мини-издательства не осилят крупные тиражи, большие издательства диктуют и навязывают свои условия. Короче, эта проблема из разряда реально существующих.
ответить
Re: наебать издательство
Если тут и есть проблема, то только в мозгу автора, который готов раком встать и жопу подставить, лишь бы его напечатали.
На моём примере можно заметить, что ничего безвыходного здесь нет.
Что не отменяет, разумеется, простого факта: издательско-медийная индустрия в её нынешнем виде должна быть брутально истреблена под корень. Дустом, дихлофосом, чем угодно. Других таких вредителей ещё поискать.
ответить
☞ From Саша (unverified) Mon Jun 24 11:27:29 2024
Касательно Reticulum Network Stack
Здравствуйте! Подскажите, слышали ли вы о Reticulum Network Stack (см. [url removed])? Думаю, проект заслуживает вашего внимания.
P.S. Также может оказаться полезным один тред на Реддите* (см. [url removed]), где автор делится информацией о Reticulum и отвечает на популярные вопросы (о внутреннем устройстве, криптографической базе, устойчивости сетей, а также Python).
* Да, без скриптов не работает. Но, право, давайте не будем спотыкаться о такие мелочи. Можете воспользоваться альтернативным фронтендом типа Redlib, там JS не нужен; удобный сервис переадресации: [url removed]
ответить
Re: Касательно Reticulum Network Stack
Чего ты сюда припёр этот кусок питонячьего говна? Чего ты сам сюда припёрся? Ты ошибся дверью, здесь говно не едят, делай это в другом месте. А сюда дорогу забудь, и желательно навсегда.
ответить
☞ From Арсений (unverified) Mon Jun 24 10:00:30 2024
Инструмент для таблиц
Здравствуйте!
Часто в работе хочется применить связные таблицы (а ля "список функций", "список тестов", "таблица покрытия функций тестами"; ну и "вывести непокрытые функции"). При этом структура таблиц обычно не очень сложная.
Брать субд/эксели нет желания, слишком уж они громоздкие (а хочется именно "на коленке" накидать пару-тройку таблиц). В последний раз обходился tsv-файлами и пачкой скриптов (sort, join, awk).
Бывают у Вас похожие задачи? Какими инструментам для этого пользуетесь? Или это всё от лукавого и проблема выдуманная?
ответить
Re: Инструмент для таблиц
Вы будете смеяться, но я сейчас как раз пилю программулину для этой цели. Со встроенным лиспом и с шаблонами для генерации отчётов (как минимум хочется иметь отчёты в HTML и LaTeX, но на шаблонах вообще можно что угодно). Так что нет, проблема не выдуманная, во всяком случае.
ответить
Re: Re: Инструмент для таблиц
Однако) С нетерпением жду!
Или оно для личного пользования планировалось?
ответить
Re: Инструмент для таблиц
Сначала для личного, потом в opensource, естественно. Просто между этими двумя вариантами будет ещё написание документации, я после Талассы перестал к этому этапу относиться легкомысленно, ибо там документация потребовала четырёх месяцев.
Вынужден сказать, что ждать ещё долго. Сама софтина мне нужна прям вчера, поэтому её я пытаюсь сейчас допилить в режиме форсажа, но по части документации никто ведь за мной гнаться не будет.
ответить
Re: Re: Инструмент для таблиц
Очень приятно читать, тоже искал похожий инструмент! Присоединяюсь к ожидающим.
Когда-то давно добавил к себе в закладки Lotus 1-2-3, который, вроде как подходит под описание "программа для работы с таблицами в терминале". Руки до него не доходили, но сейчас достал из закладок и обратил внимание, что это проприетарщина.
А тут ещё с блэкджеком и шлю... т.е. с HTML и LaTeX.
ответить
Re: Re: Инструмент для таблиц
А это никак случайно не связано с этой историей? :-)
ответить
Re: Инструмент для таблиц
Не так чтобы напрямую, но codebase этой софтины с той имеет сильно ненулевое пересечение – если не считать библиотек, то процентов двадцать, а если библиотеки посчитать, то все 95, но это читерство. И эта, в отличие от той, никак на особенности национального бухучёта не завязана, так что надеюсь её сразу же снабдить документацией и опубликовать. Ну как "сразу же"... как шшшшмагу.
ответить
Re: Инструмент для таблиц
SQLite. Вы описали задачи декларативного языка SQL.
ответить
Re: Инструмент для таблиц
Задач для SQL не существует в природе. Точно так же, как, например, для Кобола.
А ещё — пользовательские данные должны храниться в текстовых файлах.
UPD: Давай-давай отсюда. В Интернете много мест, подходящих для любителей церебральной копрофагии, но этот сайт в их число не входит.
ответить
Re: Re: Инструмент для таблиц
Раз уж зашла речь про хранение пользовательских данных, воспользуюсь случаем уточнить. Захотелось написать свою записную книгу с сохранением данных в файл и возможностью поиска по фамилии/имени. Какая в идеале должна быть структура у такого файла? В голову приходит только аналогичный как в файле /etc/passwd.
ответить
Re: Инструмент для таблиц
Тут есть сразу два вопроса: (1) допустимо ли всё хранить в одном текстовом файле и (2) каков должен быть формат этого файла.
На первый вопрос лично мой ответ примерно таков. Если общий объём данных предполагается в пределах нескольких десятков килобайт, беспокоиться не о чем вообще. Не о чем беспокоиться и тогда, когда данных ожидается в пределах мегабайта и при этом изменение данных происходит намного реже, чем их чтение, так что перезаписать весь файл ради любого небольшого изменения проблем не составляет. Если же данных стало больше чем на мегабайт ИЛИ они будут часто модифицироваться, нужно подумать над тем, чтобы либо каждую запись хранить в отдельном файле, либо раскидать записи по файлам какими-то сравнительно небольшими группами.
Относительно вопроса про формат мне больше нравится вариант, когда запись в файле состоит из полей, каждое поле записывается на своей строке, причём сначала там идёт идентификатор поля, потом сколько-то пробелов, потом содержание (значение поля), и такая строка начинается с крайней левой позиции, т.е. перед именем поля в строке ничего нет; если нужно поле больше чем на строку -- текст значения продолжается на следующей физической строке в файле, и эта строка начинается либо с пробелов (тогда все лидирующие пробелы сбрасываются и не считаются частью значения), либо с какого-нибудь плюсика (тогда всё, что после него, считается частью значения). Записи отделяются одна от другой пустыми строками. Для записной книжки получится что-то вроде
По-моему, изрядно более гибко, чем как в passwd.
ответить
Re: Re: Инструмент для таблиц
Спасибо за развернутый ответ. Видел на разных форумах, посвященных Паскалю, что подобные программы делали с записью в типизированный файл с расширением “.dat”. Такой метод по вашему мнению совершенно неправильный?
ответить
Re: Инструмент для таблиц
А вот зачем? Чтобы что?
Недостатки такого решения очевидны: файл становится невозможно просмотреть каким-нибудь less'ом (и вообще любой из тысяч программ, умеющих работать с текстовыми файлами), файл нельзя открыть в текстовом редакторе и внести изменения, любая работа с таким файлом требует специальной софтины, т.е. данные перестают принадлежать пользователю.
А вот достоинств применения т.н. "типизированных файлов" (т.е. бинарников с записями фиксированного размера) я не вижу вообще никаких. По идее с ними работа происходит быстрее, не надо читать файл с самого начала в поисках нужной записи, не надо на каждый чих перезаписывать весь файл... упс, так ведь если записи раскидать по одной в файл, то тоже надо будет перезаписывать только то, что изменилось, а нужная запись отыскивается по имени файла; вроде бы можно навертеть всякого быстрого поиска (да, для текстовых файлов это тяжело), так ведь об этом вроде речи не идёт, а если бы и шла, сначала стоит убедиться, что текущее (на порядки более простое) решение не удовлетворяет нас по скорости, об этом тоже вроде бы разговора не идёт.
Я вам больше скажу, бинарные форматы, даже если там записи фиксированного размера (что совсем не всегда так), обычно предусматривают какой-нибудь заголовок, и он размер имеет совсем другой, не совпадающий с размером записи. Так что на модель паскалевских типизированных файлов даже подавляющее большинство бинарников не ложатся.
Ну вот ей-богу, этот монстрик — паскалевская файловая модель — был выдуман в те времена, когда файловых систем как таковых не было, под "файлом" понималась магнитная лента на бобине. С тех пор вообще много чего произошло, кое-какой опыт наработался, и положительный, и отрицательный, пора бы уже мозги включать, а не действовать по принципу "если есть молоток, весь мир обязан превратиться в гвозди".
NB: сказанное никоим образом не означает, что модель хранения, основанная на записях фиксированного размера, вообще никогда не нужна. Очень даже нужна, те же файловые системы тому пример, там и блоки фиксированного размера, и inode'ы фиксированного размера, и всякий суперблок, и т.п. Но там определяющим фактором выступает именно что организация быстрого поиска, т.е. файловая система на диске представляет собой весьма развесистую структуру данных, позволяющую быстро искать и быстро изменять. Всё это нужно, когда простой линейный поиск нас удовлетворять перестал.
Но речь-то идёт о несчастной записнушке. И вот смотрите: объём небезызвестной графской графомании под названием "Война и мир" — около 3 MB, если в однобайтной кодировке, и вдвое больше, если в utf8. Чтение файла такого объёма в современных условиях занимает от трети секудны до где-то двух секунд, необходимость поиска нужной подстроки здесь ничего не добавляет, поскольку сравнения байтиков, уже прочитанных в память, требуют времени намного меньше (т.е. всё вместе займёт времени ровно столько, сколько потребуется для чтения с диска). Это если файл ещё в кеши не лёг, т.е. повторный поиск будет работать в десятки раз быстрее за счёт того, что с диска читать уже ничего не надо. Навертев всякого быстрого поиска, можно время нахождения нужной записи снизить до тысячных и даже, наверное, миллионных долей секунды. А теперь внимание, вопрос: нам не пофигу? Во-первых, записнушка даже близко не будет сравнима по объёму с "Войной и миром", так что реальные задержки на поиск будут измеряться сотыми долями секунды. Во-вторых, даже устранение двухсекундной задержки не факт что стоит месяца работы — ну, разве что если заказчик сильно возбухнет, а нам очень нравятся те деньги, которые он нам платит.
В общем дело в чём, прежде чем бросаться самоотверженно всё оптимизировать, нужно сначала проанализировать стоящую задачу. В подавляющем большинстве случаев окажется, что текстовые файлы приемлемы по быстродействию, при этом они несравненно удобнее в использовании. А вот если реально наша реализация перестала нас удовлетворять по быстродействию — то тогда, и никак не раньше, можно подумать об оптимизации.
ответить
Re: Re: Re: Инструмент для таблиц
В целом и у меня самого была мысль, что хранить пользовательские данные в файлах корректнее, нежели в бинарном виде, но так как мало опыта в написании программ интересовало ваше мнение.
ответить
☞ From Anonymous (unverified) Sat Jun 22 02:48:20 2024
Anonymous
На старой версии заголовок страницы был разный для разных страниц, а сейчас везде написано "Андрей Викторович Столяров: сайт автора". Если в разных вкладках открыты разные страницы, то стало менее удобно ориентироваться.
ответить
Re: Anonymous
Ага, надо было дождаться, пока старый сайт сдохнет вместе с сервером (между прочим, ждать пришлось больше года), и только потом это отрепортить, когда уже нет возможности посмотреть, как было на старом сайте, и когда темплейт, сделанный на основе новой версии сайта, довольно далеко ушёл в развитии, при этом не предполагая подстройки заголовка.
Ладно, проблема примерно понятна, подумаю, что с этим сделать. Только сроков никаких пообещать не могу даже приблизительно.
ответить
☞ From НеПрограммист (unverified) Thu Jun 20 19:34:34 2024
От себя
Здравствуйте! Волею случая наткнулся на книжку, узнал про Ваш сайт и зашел выразить свое почтение и поделиться своим случаем. Не являюсь программистом по своей деятельности, но применяю регулярно питон. В основном конечно для несложных действий с интернета данные стянуть или по каталогам в системе пробежаться. Недавно стал сталкиваться с необходимостью написать что-то посложнее и начал натыкаться на различные проблемы - то типы гуляют как хотят (должна быть строка, а питон решил что это массив), то всякие костыли приходится использовать, чтобы ограничения языка обойти. Наткнулся на Ваш труд, ознакомился с некоторыми главами, нашел объяснение того, что мешает полноценно работать. Затянуло - написано очень интересно и познавательно, даже получается в дело пустить, да и с компьютером интереснее работать стало. В общем, Спасибо Вам за возможность повысить уровень владения компьютером и углубиться программирование!
ответить
☞ From Thalassa CMS (unverified) Thu Jun 20 17:17:58 2024
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, по инструкции для одиночного ресурса и он работал как надо.
ответить
Re: Thalassa CMS
Там вроде был такой момент, что у группы должен быть gid не меньше чем сколько-то (1000?), может быть, дело в этом? Я, честно говоря, про это еле вспомнил, информация откуда-то из пыльных углов памяти.
ответить
☞ From Anonymous (unverified) Thu Jun 20 15:58:00 2024
Хотите поражать? Реклама вашей книги! (Видимо палёной)
На Тюбике: 6elcYNY9acs
ответить
Re: Хотите поражать? Реклама вашей книги! (Видимо палёной)
А, это я видел, да. Унылое говно (tm) Чувак там зачитал, судя по всему, реферат из книжки, даже в моей фамилии ухитрился ударение не там поставить (между прочим, с таким я сталкиваюсь впервые за всю жизнь, моя фамилия не относится к числу редких), плюс к тому читать вслух чувак явно не умеет.
Но на тот момент, когда этот ролик вышел, данная конкретная книжка (причём именно в этом "авторском" оформлении) продавалась в бумаге совершенно официально, она из типографии вышла в декабре 2019, причём в самой книжке год издания обозначен 2020, там как раз почти сразу начался ковид, киоск, где это всё продавалось, закрылся, и у меня образовалась неиллюзорная возможность остаться с полутора сотнями экземпляров; к счастью, нашлись те, кто (уже в 2021 году) у меня эти экземпляры забрали оптом и пустили в продажу, вот как раз там в ролике книжка показана на сайте какого-то из интернетных книжных магазинов.
ответить
☞ From rkvg-es (unverified) Tue Jun 18 18:06:37 2024
Слой содержания в книгах
Со сломанным текстовым слоем в PDF-ках всё понятно, но что насчёт встроенного содержания (navigation pane)? Его тоже нет по какой-то конкретной причине? И если да, то, наверное, об этом также стоит дописать в FAQ. А если всё же нет, то мне видится, что это могло бы значительно снизить для читателей остроту проблемы с поиском в PDF.
Извиняюсь, если этот вопрос уже задавался.
ответить
Re: Слой содержания в книгах
Относительно уже имеющихся книг всё просто: здесь выложены оригинал-макеты, реально использовавшиеся для печати книг, а там любые излишества могут слишком дорого обойтись, если при печати вылезет что-то не слишком ожидавшееся (и никем не замеченное) вроде рамки вокруг какого-нибудь заголовка.
Но впереди третье издание, которое, судя по всему, будет чисто электронным, печататься на бумаге не будет. Я подумаю на тему навигации в нём.
ответить
Re: Re: Слой содержания в книгах
Замечательно, спасибо!
Раз уж на то пошло, то ещё такой вопрос появился: стоит ли надеяться если и не на гиперссылки по тексту книги, то хотя бы на то, чтобы номерные ссылки на источники переносили на конкретную страницу в конце книги, где этот источник обозначен? Постоянно их искать вручную действительно утомляет (впрочем, как и перестукивать URL из них в адресную строку).
ответить
Re: Слой содержания в книгах
Причины, по которым никаких гиперссылок (не в смысле URLов в тексте, а в смысле такого места, куда можно кликнуть мышкой и куда-то перенестись в другое место того же документа) нет в выложенных оригинал-макетах, я обозначил. Про грядущее чисто электронное третье издание — как я уже сказал, подумаю, в целом если там будет хоть какая-то навигация, то нет особых причин избегать её конкретно для ссылок на список литературы.
Идея "активных" ссылок на веб — таких, которые заставляют программу просмотра PDFа запускать браузер — вызывает у меня инстинктивное противодействие, так что такого, скорее всего, всё-таки не будет.
ответить
Re: Re: Слой содержания в книгах
Стоит ли ожидать новое, электронное, издание в каких-нибудь иных форматах отличных от PDF и DJVU?
ответить
Re: Слой содержания в книгах
Вот уж точно нет.
ответить
Раз уж электренное издание...
Может сделаете алфавитный указатель?
У вас очень круто это сделано когда вы ссылаетесь на определенные параграфы, которые стоит знать для освоения следующей темы (мол, вот эта тема упоминалась в таком, таком и таком месте), но иногда хочется освежить тему просто потому что подзабылась и приходится долго искать где она упоминалась.
ответить
Re: Раз уж электренное издание...
Он и сейчас есть, см. в конце третьего тома.
ответить
☞ From Anonymous (unverified) Tue Jun 18 08:36:01 2024
Глава 7.3.3
Объясните пожалуйста, зачем в новый тред передавать указатель на структуру с данными и вешать семафоры, чтобы избежать гонки, если можно просто закрыть мьютекс переданной структуры (в новом треде), чтобы основной поток подождал пока мы скопируем себе структуру? Или, что ещё проще, почему нельзя для каждого потока иметь свою структуру? Они же все равно будут в памяти, вопрос только в какой: на стеке у основого потока, на стеке у дочернего потока или в куче.
ответить
Re: Глава 7.3.3
> если можно просто закрыть мьютекс переданной структуры (в новом треде), чтобы основной поток подождал пока мы скопируем себе структуру?
А кто вам сказал, что основной поток не успеет проскочить раньше, чем порождённый тред успеет закрыть мьютекс?
> Или, что ещё проще, почему нельзя для каждого потока иметь свою структуру?
"Свою структуру" — это вы как себе представляете, локальной её сделать в главной функции потока? А откуда основной поток узнает, по какому адресу в порождённом потоке живёт эта структура?
Впрочем, моя рекомендация относительно многопоточного программирования остаётся прежней, и она ровно одна: никогда, ни при каких условиях не используйте треды. Разве что под дулом пистолета.
Одним из ответов на вопрос "почему" тут может служить сам факт возникновения у вас вот этих вот вопросов. Как говорят в таких случаях, sapienti sat.
ответить
Re: Re: Глава 7.3.3
> "Свою структуру" — это вы как себе представляете, локальной её сделать в главной функции потока? А откуда основной поток узнает, по какому адресу в порождённом потоке живёт эта структура?
Код без обработки ошибок и т.п., просто для объяснения идеи.
Не вижу, что тут может пойти не так.
ответить
Re: Re: Re: Глава 7.3.3
В тексте книги такое решение рассмотрено и отвергнуто с подробным объяснением причин, читайте внимательнее. Соответствующий абзац начинается со слов "Можно, конечно, завести для каждого треда свой экземпляр структуры".
ответить
☞ From uint (unverified) Fri Jun 14 12:52:37 2024
интерпретируемость и компилируемость
Скажем, Python при желании можно транслировать в Си, в то же время для Си создано немало интерпретаторов. Если всё зависит только от метода, который используется для дальнейшей трансляции и выполнения кода, то интерпретируемость и компилируемость оказываются не свойствами самого языка, а свойствами реализации. Поправьте меня, если я что-то не понимаю и путаюсь в терминологии.
ответить
Re: интерпретируемость и компилируемость
Здесь есть ровно два варианта: или вы читаете полностью часть 12 третьего тома трёхтомника, и особенно внимательно — главу 12.5 (эту желательно с карандашиком, особенно в вашем случае — это, скорее всего, ваш единственный шанс на удаление говна из мозга), или сваливаете вон с моего сайта и больше никогда сюда не возвращаетесь. Возможно, впрочем, и то и другое. Даже, наверное, правильнее будет, если вы отсюда свалите в любом случае, поскольку мне тут не нужны такие персонажи, которые считают питон имеющим право на существование.
ответить
Re: Re: интерпретируемость и компилируемость
Кстати, с Вашего позволения: предлагаю заменить в тексте "скриптинг" на "скриптование", так как ассимилированная форма заимствования более верна с точки зрения русского языка, на мой взгляд.
ответить
Re: Re: Re: интерпретируемость и компилируемость
Нет уж, позвольте не позволить (tm). Отвечать на вопрос "почему" я здесь не вижу никакого смысла, хочу только напомнить то, что уже не раз и не два (и, наверное, даже не десяток раз) говорилось: я не принимаю никаких рекомендаций по тексту книги. Только сообщения о явных ошибках, но словоформа "скриптинг" таковой не является.
ответить
Re: Re: Re: Re: интерпретируемость и компилируемость
Ваше право. Считайте тогда это просто доброжелательной обратной связью от увлечённого читателя. Просто когда текст написан хорошим русским языком (особенно по нынешним меркам), то такие вещи на его фоне начинают особенно выделяться - и порой ощутимо царапать глаз.
Извините. Просто не читаю Ваш сайт на постоянной основе.
Может быть, тогда пришло время для отдельной гостевой странички с комментариями под эррату? С соответствующими пояснениями о том, чего там ждут, а чего нет, конечно же. Или хотя бы обозначить таковые пояснения где-нибудь явно - скажем, сносками на страницах "Книги", "Обратная связь", "Гостевая книга", да в FAQ хотя бы. Как Вам виднее будет.
И напоследок: честно не знаю, относится ли это к тексту книги, но заметил вот что. На странице "главных спонсоров проекта" указаны суммы без обозначения валюты. И остаётся загадкой, что же имелось в виду: рубли? гривны? тенге? евро, доллары? русские рубли? белорусские? приднестровские? Это довольно-таки неоднозначно, так как страницы "Об авторе" тоже нет, а подобные Вам люди с русским языком и именем живут во всём мире. К тому же, книги живут дольше авторов (а хорошие - сильно дольше), поэтому было бы неплохо, на мой взгляд, если бы со временем текст не утрачивал свой смысл нигде и ни в чём.
ответить
Re: интерпретируемость и компилируемость
> и порой ощутимо царапать глаз
Здесь, по-видимому, имеется разница в восприятии слов. В моём понимании "скриптование" имеет смысл существенно более узкий, нежели "скриптинг". Я как-то так привык считать, что скриптование — это замена последовательностей рутинных действий скриптом. Ну то есть когда что-то такое взяли и оскриптовали. Т.е. вот когда человек понимает, что в десятый или какой там раз тратит время на исполнение одной и той же процедуры, мысленно говорит "тьфу, чёрт" и открывает редактор, чтобы писать скрипт, который эту процедуру будет проделывать за него. Ну, или зовёт программиста, который ему этот скрипт напишет. Вот это вот — "скриптование". Т.е. была ручная потеря времени, но мы потратили чуток времени на скриптование, и теперь у нас есть скрипт. Тогда как "скриптинг" — это вообще всё скриптовое программирование и заодно всё, что с ним связано, а отнюдь не только процесс написания скрипта для автоматизации какой-то конкретной рутины.
Ну то есть вот, скажем, программист, написавший жирную программу, понимает, что она ожирела в достаточной степени, чтобы её было неудобно использовать без встроенных возможностей скриптования, берёт какой-нибудь libtcl и встраивает в своё программу. Вот это вот он занимается скриптингом, но никоим образом не скриптованием. Скриптование начнётся, когда кто-то — сам ли он или кто-то из пользователей его программы — начнёт писать скрипты для часто встречающихся в ходе работы ситуаций. Точно так же и скрипты пишутся не только для автоматизации ручных действий, но и для решения других задач — таких, которые никто никогда вручную не выполнял. Помимо веба с трижды проклятым client side scripting, можно назвать ещё инициализационные скрипты в операционках, да мало ли что ещё. И вот это всё тоже скриптинг, но не скриптование. Во всяком случае, если эти слова воспринимать так, как их воспринимаю лично я (а такое восприятие может отличаться в соседних городах и даже в соседних отделах одной конторы).
А советы по тексту книги я не принимаю, чтобы каждый раз не объяснять вот этак вот, почему это я — автор книги — хочу оставить так, как в книге, а не так, как кому-то другому почему-то кажется лучше. Вы меня только что на такую трату времени таки исхитрились развести (ну, я сам виноват, можно было коммент не раскрывать, но мне стало интересно — это тот самый синдром "в интернете кто-то неправ"), но если я всем так буду отвечать, времени на конструктивную деятельность не останется.
> для отдельной гостевой странички с комментариями под эррату
А чем вас не устраивают комментарии на страничке самой эрраты?
> И остаётся загадкой, что же имелось в виду: рубли? гривны? тенге? евро, доллары?
На мой взгляд, всё станет очевидно, если прочитать первое предисловие (которое "философское").
ответить
Re: Re: интерпретируемость и компилируемость
> Здесь, по-видимому, имеется разница в восприятии слов.
Да, согласен. Разве что ещё замечал "инсталляция" вместо "установка", хотя в современном русском языке слово "инсталляция" в первую очередь наводит на смысл, эээ, несколько искусствоведческий. В любом случае, "моё дело - доложить" (ц).
> А чем вас не устраивают комментарии на страничке самой эрраты?
Тем, что у меня ум за разум и шарики за ролики, и иногда я пишу быстрее, чем думаю. Конечно же, я хотел предложить просто дописать где-нибудь, что комментарии к изложению и стилистике не принимаются. Чтобы было куда людей носом тыкать.
> Вы меня только что на такую трату времени таки исхитрились развести
Ну, я просто стараюсь быть вежливым. :)
ответить
☞ From cadabr (unverified) Tue Jun 11 22:26:01 2024
FAQ ideal_language
Предлагаю добавить ссылочку в FAQ: http://stolyarov.info/guestbook/archive/2/#comment-1166.
Просто сложилось впечатление, что некоторые из тех, кто интересуется идеальным языком программирования, почему-то думают, что единственная информациях о нем представлена в комментариях на сайте и в последних томах "Введения в профессию" (хотя и там упоминается некоторая статья).
И поскольку, до недавнего времени, я тоже так думал, решил напомнить, что у Андрея Викторовича есть набор статей, которые должны помочь с пониманием того, как должен выглядеть этот язык.
ответить
Re: FAQ ideal_language
Ну, добавить-то я её добавил, пусть будет.
А вообще статья почти 17-летней давности к нынешнему моменту уже не отражает моего понимания этой темы. В те времена я ещё не знал про дихотомию Остерхаута и не понимал принципиальности различия между интерпретацией и компиляцией.
ответить