Andrey Stolyarov

Андрей Викторович Столяров: сайт автора

Гостевая книга

Здесь вы можете оставить сообщение для владельца сайта, отзыв о функционировании, оформлении, содержании и вообще написать всё, что думаете по этому поводу. Просьба придерживаться темы («по этому» — это ещё не «по любому») и соблюдать приличия :-)

Обратите внимание, что связаться с автором сайта можно также и через страницу обратной связи, которая позволяет отправить автору email.

Более старые комментарии можно посмотреть в архиве гостевой книги.

Учтите, что комментарии на этом сайте премодерируются.


From anon (unverified) Fri Jul 19 10:04:52 2024 pencil

Идеальный язык и исключения

В одном из FAQ про идеальный, на ваш взгляд язык, вы критиковали Си, говоря что там нет прямого доступа к стэковым фреймам, на уровне языковых констукций. Но разве те же исключения нельзя было бы реализовать, используя функции setjmp/longjmp из стандартной библиотеки Си, предварительно обернув их в синтаксический сахар через макросы на вашем языке? И тогда не нужно лишний раз усложнять компилятор, или я что то упускаю?

parent From Andrey V. Stolyarov profile Fri Jul 19 10:08:04 2024 pencil

userpic

Re: Идеальный язык и исключения

Вы прорву всего упускаете. Например, деструкторы. И не рассказывайте мне, что без деструкторов можно обойтись: если "универсальный" язык, несмотря на все его универсальности, не будет позволять реализовать деструкторы, то его можно вообще не начинать делать.

parent From anon (unverified) Fri Jul 19 10:21:27 2024 pencil

Re: Re: Идеальный язык и исключения

> И не рассказывайте мне, что без деструкторов можно обойтись

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

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

parent From Andrey V. Stolyarov profile Fri Jul 19 10:40:23 2024 pencil

userpic

Re: Идеальный язык и исключения

Н-да.

Мысль первая: я никогда не использую умные указатели. Хотя пишу в основном на плюсах. А вот это ваше "вообще не понимаю как можно в сколь нибудь большом проекте на чистом Си, помнить все время вызывать free после malloc," можно сократить до четырёх слов: "я не умею программировать".

Точнее, у меня был один проект, где активно использовались умные указатели, это был InteLib, но там реализован Лисп, в таких вычислительных моделях без сборки мусора (или хоть какого-то её заменителя, конкретно там reference counting) делать нечего. А в обычной жизни мне и в голову никогда не придёт ввести smart pointer.

Мысль вторая: совершенно пофигу, как конкретно реализованы деструкторы. Вы понимаете, что сделав longjmp, вы их перепрыгнете? Или вы о таких мелочах не задумываетесь?

parent From anon (unverified) Fri Jul 19 11:22:35 2024 pencil

Re: Re: Идеальный язык и исключения

> Вы понимаете, что сделав longjmp, вы их перепрыгнете?

И правда не подумал, спасибо что указали на этот момент :)

Изначально, я вопрос задавал, потому что сам свой язык пишу, как раз вдохновившись InteLib, но разочаровался, узнав что там нету лисповых макросов для создания абстракций, а ведь в них главная фишка лиспа. У меня была идея сделать zero-runtime лиспо-подобный язык который транспилируется в усеченное подмножество ANSI C (для написания полноценного компилятора под все процессорные архитектуры и ОС у меня нет ни времени ни навыков), но судя по тому что вы написали, возможно мне реально стоит бросить эту затею и пойти перечитать ваши книги до полного просветления.

parent From Andrey V. Stolyarov profile Fri Jul 19 11:30:46 2024 pencil

userpic

Re: Идеальный язык и исключения

> zero-runtime лиспо-подобный

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

А макросы (почти commonlisp'овские, чуть-чуть не хватает до совместимости) в InteLib'е вообще-то есть, но сильно не в почёте. Просто потому что не нужны.

parent From anon (unverified) Fri Jul 19 11:41:45 2024 pencil

Re: Re: Идеальный язык и исключения

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

parent From Andrey V. Stolyarov profile Fri Jul 19 12:22:57 2024 pencil

userpic

Re: Идеальный язык и исключения

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

parent From anon (unverified) Fri Jul 19 12:56:00 2024 pencil

Re: Re: Идеальный язык и исключения

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

parent From Andrey V. Stolyarov profile Fri Jul 19 14:10:05 2024 pencil

userpic

Re: Идеальный язык и исключения

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

From Anonymous (unverified) Tue Jul 16 22:02:15 2024 pencil

Новости на 2 страницах

Если зайти на http://stolyarov.info, то вверху видна новость "Журналы пожертвований", если зайти на http://stolyarov.info/news.html, то вверху видна новость "Очередная авария". Это не баг?

parent From Andrey V. Stolyarov profile Tue Jul 16 22:39:49 2024 pencil

userpic

Re: Новости на 2 страницах

Нет, это называется "кеш браузера". Нажмите F5.

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

parent From Yury (unverified) Wed Jul 17 09:51:38 2024 pencil

Re: Re: Новости на 2 страницах

Да не, генерация на каждый запрос - это уже прошлый век (PHP) :). Сейчас как раз HTML/CSS/JS статические, а само содержимое страницы генерируется скриптами, запрашивая контент у сервера через кучу отдельных HTTP-запросов. :D

parent From Andrey V. Stolyarov profile Wed Jul 17 09:54:30 2024 pencil

userpic

Re: Новости на 2 страницах

Я и говорю, только массовые расстрелы спасут человечество.

From + (unverified) Tue Jul 16 21:05:11 2024 pencil

Thalassa CMS и существующие сайты

У вас нет в планах создать список сайтов, которые поддерживаются Талассой? Очень интересно увидеть, сколько их уже и как они будут пополняться. Ну и плюс побывать на них, вдруг имеются такие тематики, которые кому-то, допустим, были бы интересны. Когда-то обсуждали тут тему каталога с сайтами без JS - нормальных сайтов реально не хватает. Куда не зайдешь - везде пишут что без скриптов не работаем. Очень приятно залетать на всякие ресурсы без задержек!

parent From Andrey V. Stolyarov profile Tue Jul 16 22:42:08 2024 pencil

userpic

Re: Thalassa CMS и существующие сайты

> список сайтов

http://thalassa.croco.net/moreinfo.html Есть даже инструкция, как в этот список попасть.

А что там ничего нет, кроме моих же собственных сайтов — так это вопрос не ко мне.

From Сергей (unverified) Mon Jul 15 08:29:02 2024 pencil

Готовим детей

Андрей Викторович, здравствуйте! Прежде всего хочу поблагодарить Вас за труд и те знания, которыми Вы делитесь с людьми, от чего и желаю Вам счастливой жизни и крепкого здоровья! Хочу попросить Вашего совета. Моему сыну 14 лет. Я хочу ему подарить старенький и слабенький (причина очевидная) ноутбук и установить на него Linux. Своей целью я ставлю с одной стороны занять его чем то интересным, с другой - подготовить сына к изучению Ваших книг. Наличия одного ноутбука недостаточно. Необходима литература, доступная к пониманию школьника 7 класса, что бы он не просто сидел и смотрел в дисплей, а с пользой проводил время. Нужна теория и практика. Возможно ему не зайдет эта тема и я не стану заставлять его в дальнейшем. Т.к. Вы преподаватель, и в Ваших словах я нахожу отклик и согласие в своем уме, потому и решил задать подобный вопрос именно Вам и именно здесь, т.к. скорее всего я не один такой родитель, и подобный вопрос хочет задать Вам ещё кто-нибудь. Возможно я чего то не понимаю и мой вопрос, публикуемый в гостевой книге не имеет место быть, тогда я заранее прошу прощения и даю свое согласие на отказ в публикации. Подводя вышесказанное, посоветуйте какую-нибудь книгу или книги к изучению. С уважением, Сергей.

parent From Andrey V. Stolyarov profile Mon Jul 15 08:39:16 2024 pencil

userpic

Re: Готовим детей

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

parent From Василий (unverified) Tue Jul 16 08:56:49 2024 pencil

Re: Готовим детей (Отзыв такого сына)

> Моему сыну 14 лет. Я хочу ему подарить старенький и слабенький (причина очевидная) ноутбук и установить на него Linux.

Примерно похожим образом со мной поступила моя матушка в таком же возрасте (сейчас мне 26). Отдала мне старенький компьютер, накатила на него Debian, если правильно помню тогда была 6-ая версия, а дальше 2.7бись сам.

В общем, занимался тем, что пытался поставить себе хоть какие-нибудь игрушки с переменным успехом, да и просто красиво себе Desktop настроил не более. И немного "программировал" на Ruby, т.к. мне этот язык дали как стартовый, тем самым меня травмировав.

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

Мысленно я иногда ставлю эксперимент: как надо было родителю поступить в той ситуации, т.к. я себя ребёнком хорошо помню, когда мозг работал как-то совсем иначе. К сожалению, никакого решения не могу найти. Могу только отметить несколько пунктов, до которых я додумался, относительно СЕБЯ.

  • Донести мысль, что по жизни лучше быть творцом, а не потребителем. (И это не только про программирование)
  • Ребёнку очень нужно созидание, т.е. максимальный быстрый путь от идеи до реализации. И вот тут уже затык. Т.е. чтобы что-то сделать быстро, для этого используют высокоуровневый язык, ну это ещё ладно (сейчас Андрей Викторович меня ссаной тряпкой побьёт), а ещё быстрее, это использовать какие-нибудь Framework'и или IDE, что ещё хуже, ибо а) они полностью скрывают от пользователя, а что собственно они делают; б) сегодня они есть, а завтра их нет.
  • Надо ребёнку как-то дать возможность творить, но при этом чтобы были довольно сильные ограничения, т.к. широта возможностей на старте убивает творчество. В это случае, например, модуль CRT в fpc довольно-таки неплох, т.к. там довольно быстро упираешься в потолок, но при этом на нём на самом деле довольно много можно сделать.
  • К предыдущему пункту добавляется, что надо объяснить ребёнку про границы возможностей, ибо детский полёт фантазий может быть большой. И тут очень опасный момент, потому что ребёнок может хочет чего-то сделать, а тут ему говорят, что это для него "невозможно". На этом месте он может обидеться и забить на это дело, при том окончательно.

На этом пока всё. Если пройду премод и ещё что-то вспомню, накатаю ещё пунктов.

Я думаю, если вы так поступите, ваш сын просто залипнет в браузер, ибо в нём полноценная виртуальная машина, в которой "уже всё просто работает" и "им пользуются все мои друзья", когда с Linux как-то всё же надо повозиться.

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

Я на текущем своём этапе использую Termux + дистрибутив Ubuntu через PRoot, чтобы на нём компилировать свои полноэкранные программки написанные на Pascal'е, мне этого пока хватает.

Тут на сайте я читал, как был успешный заход в программирование через функциональную парадигму, а также упоминался вариант использования Clojure для JVM. Но мне пришлось данный вариант откинуть, т.к. для того же Android это делается через ClojureScript "диалект кложи, который компилится в JS" (с) или ClojureDart, что для меня примерно тоже самое.

parent From Andrey V. Stolyarov profile Tue Jul 16 09:04:16 2024 pencil

userpic

Re: Re: Готовим детей (Отзыв такого сына)

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

parent From Василий (unverified) Tue Jul 16 09:20:51 2024 pencil

Re: Re: Re: Готовим детей (Отзыв такого сына)

Полностью с вами согласен.

Я говорю скорее про "дать возможность" ребёнку двигаться в этом направлении. Но вполне может оказаться, что ребёнку это нафиг не надо и в этом случае родителю надо дать заднюю. Что вполне, казалось бы, очевидно, но практика часто показывает обратное. Поэтому про это отдельно пишу комментарий.

parent From Artem (unverified) Tue Jul 16 13:09:16 2024 pencil

Re: Готовим детей (Ответ другого сына)

>> С друзьями в компьютер не поиграть

И всё, абзац. Сейчас, однако, проблем с играми, включая онлайновые, на линуксах нет, по крайней мере, с большей частью игр, имеющихся в Steam.

Игры это, по моим наблюдениям, самый верный и самый частый вход во всё, связанное с IT. Но очень мало кто из тех, кто в детстве ковырял конфиги, скрипты и память игр, применяет полученные навыки в дальнейшем, и практически никто не задумывается, по какой конкретно причине игра изменяется, и в голове не укладывается ничего, кроме быстро забывающегося набора заклинаний.

Я это к чему говорю: нет никаких гарантий, куда там детёныш залипнет, и что его заинтересует. И нет ни одного способа определить, во что это выльется, когда оно подрастёт. Можно лишь гадать, что детёнышу будет лучше, и очень повезёт, если угадать удастся. Да и это самое "лучше" тоже для каждого своё, и наверняка у детёныша будет совсем другое мнение, когда он вырастет.

Меня отец и по сию пору спрашивает, когда же я, наконец, наиграюсь в свои игрушки, и начну пользоваться нормальной ОС. Игрушки это линукс, а нормальная ОС это винда, если что. В детстве, разумеется, ни о чём, кроме нормальной ОС, на домашнем компе не могло быть и речи, а от всего, связанного с программированием, меня старательно ограждали, ведь "сейчас программы сами себя пишут, нечего там делать". И ведь в своей картине мира он абсолютно прав, и останется прав, что бы из меня в итоге не вышло. Маленькая ремарка: мы с вами ровесники, и я только что закончил 2 курс очного бакалавриата, лол.

parent From Andrey V. Stolyarov profile Tue Jul 16 13:15:59 2024 pencil

userpic

Re: Re: Готовим детей (Ответ другого сына)

> И ведь в своей картине мира он абсолютно прав

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

А патернализм (вот это вот "ну мы же ему желаем добра") — это один (!) из всего лишь двух (!) корней всего мирового зла, вот в этом я глубочайшим образом убеждён. Патерналистской риторике оправданий быть не может, даже когда речь идёт о родителях и детях.

parent From merino (unverified) Tue Jul 16 14:01:56 2024 pencil

parent From Andrey V. Stolyarov profile Tue Jul 16 14:15:42 2024 pencil

userpic

Re: Готовим детей (Ответ другого сына)

Служенчество. Жизненное предназначение, путь самурая, вот это вот всё. Иначе говоря, когда человек всерьёз полагает, что для него что-то (притом абсолютно неважно, что именно) может быть важнее, нежели его собственные шкурные интересы.

Точнее, это как раз первый корень, а патернализм — второй.

parent From Parthen (unverified) Tue Jul 16 14:16:02 2024 pencil

Re: Re: Re: Готовим детей (Ответ другого сына)

>А патернализм (вот это вот "ну мы же ему желаем добра") — это один (!) из всего лишь двух (!) корней всего мирового зла, вот в этом я глубочайшим образом убеждён.

Огласите весь список, пожалуйста

parent From Andrey V. Stolyarov profile Tue Jul 16 14:38:40 2024 pencil

userpic

Re: Готовим детей (Ответ другого сына)

Уже огласили, см. выше. Синхронность впечатляет, вы тут что, непрерывно сидите и F5 жмёте?

parent From Parthen (unverified) Tue Jul 16 17:16:49 2024 pencil

Re: Re: Готовим детей (Ответ другого сына)

Ну, есть три сайта, которые у меня в закрепе на главной странице браузера: Ютуб, old Реддит, и stolyarov.info. Когда становится скучно, захожу на один из них.

Я конечно не считал, но думаю раз 20 в день я в гостевую захожу.

(Хотя, честно признаюсь, лучше бы сидеть на infoviolence - но там обновления сильно реже)

parent From Andrey V. Stolyarov profile Tue Jul 16 18:15:26 2024 pencil

userpic

infoviolence

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

parent From Anonymous (unverified) Tue Jul 16 19:23:48 2024 pencil

Re: Re: Готовим детей (Отзыв такого сына)

А мои родители в мои 16 лет просто купили мне комп при этом сами в компьютерах ничего не понимая и это я их пытался учить как им пользоваться, а не они меня.

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

parent From Andrey V. Stolyarov profile Tue Jul 16 19:48:31 2024 pencil

userpic

Re: Готовим детей (Отзыв такого сына)

Повезло, правильная книжка попалась. Ну то есть вероятнее всего вы бы к этому всё равно пришли, просто, возможно, не так быстро.

parent From Anonymous (unverified) Wed Jul 17 03:08:03 2024 pencil

Re: Re: Готовим детей (Отзыв такого сына)

Книга называлась "Энциклопедия для детей: Информатика", издательство Аванта+. Мне родители купили почти всю серию по разным предметам.

Не знаю, может быть. У меня, когда появился интернет, любимым развлечением на компьютере было скачивать всяякие программки, устанавливать и тыкать их. Программки, конечно, под винду были сперва. Но я и операционные системы пытался скачивать и запускать, например однодискетные дистрибутивы GNU/Linux, MenuetOS и KolibriOS. Понятно что что-то побольше на 56k модеме по 20 рублей в час не скачаешь.

parent From Andrey V. Stolyarov profile Wed Jul 17 07:24:10 2024 pencil

userpic

Re: Re: Re: Готовим детей (Отзыв такого сына)

> на 56k модеме по 20 рублей в час

Давно, видать, дело было. Айтишные корпорасты тогда ещё не успели совсем о$$еть, как сейчас.

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

parent From Василий (unverified) Tue Jul 16 20:27:49 2024 pencil

Re: Re: Re: Готовим детей (в панировке)

> я их пытался учить как им пользоваться, а не они меня.

Кстати, ИМХО это отличный вариант. "Хочешь научиться сам -- научи другого". Плюс, молодой человек понимает что родитель не всесилен.

parent From Oliver (unverified) Wed Jul 17 07:17:30 2024 pencil

Re: Re: Готовим детей (Отзыв такого сына)

> В общем, толку от этого было что-то около нуля, если не вред.

Все разумеется зависит от ребенка. Моему вот во время ковида наверное было 12 или 13 лет. Был комп, был Девуан на нем, и в школе была удаленка. Мой малой без меня поставил нужную программу, а потом нашел и установил нужные зависимости. Потом ему подарили новый ноут, на котором была предустановлена ОС одной хорошо изестной компании, но малой выбрал Линукс. Сегодня разумеется у него нет проблем в том числе и поиграть на Линуксе: сам все настраивает без меня. Пример не для того, чтобы похвалиться, а для того, чтобы показать, что можно и нужно ребенку в 14 лет давать пробовать работать с Линуксом. Я бы скащал, что уже в лет 11, 12 или 13 это можно делать, иначе есть риск, что ребенок будет пользоваться одной небезызвестной ОС и думать, что это есть хорошо. Следовательно тезис "Я думаю, если вы так поступите, ваш сын просто залипнет в браузер, ибо в нём полноценная виртуальная машина, в которой "уже всё просто работает" и "им пользуются все мои друзья", когда с Linux как-то всё же надо повозиться" не совсем верным будет. Не со всеми такое случается. Видимо Вам мамочка просто до этого мало дала информации, как вариант.

parent From Andrey V. Stolyarov profile Wed Jul 17 15:26:02 2024 pencil

userpic

Возрастные ограничения

Я сильно подозреваю, что Linux можно "давать пробовать" ровно с того же возраста, с какого вообще любые компьютерные устройства, не исключая смартфона. Точнее, я бы поостерёгся смартфоны детям давать, вот уж совсем не игрушка, но уж если кто считает, что сматрфон можно — то уж линукс и подавно.

From гость (unverified) Sun Jul 14 16:43:13 2024 pencil

Выбор рабочей станции в современных реалиях

Андрей Викторович, здравствуйте. Вопрос касаемо приобретения рабочей станции для последующего пользования как основной личной машиной и для самообучения. В контексте сегодняшней техники с повсеместной проприетарщиной и блобами, хотелось бы узнать у вас, что на текущий момент является наиболее оптимальным для покупки. Старых и никому не нужных ноутбуков, к сожалению, нет. Старого ПК, соответственно, тоже. Из того, что сегодня можно купить в магазине, это ноутбуки по дикому оверпрайсу с предустановленными форточками (которая, разумеется, выливается в копеечку при ценообразовании). Из того, что можно собрать самому: процессоры от amd на AM5/AM4 сокете. С материнками тоже нынче бывают подводные. Видюха в общем-то не нужна, встроенная графика вроде бы должна всем устраивать.

Что покупать и из чего выбирать?

parent From Andrey V. Stolyarov profile Sun Jul 14 21:42:58 2024 pencil

userpic

Re: Выбор рабочей станции в современных реалиях

> Старых и никому не нужных ноутбуков, к сожалению, нет. Старого ПК, соответственно, тоже.

Плохо ищете. Ищите лучше.

parent From anonymous (unverified) Sun Jul 14 22:29:33 2024 pencil

Re: Выбор рабочей станции в современных реалиях

Совершенно не мое дело, но не удержался пройти мимо :)

Единственная ситуация, в которой я могу здраво воспринять и понять смысл вашего комментария - это факт вашего проживания где-то на территории Африки или Гренландии.

В России в любом - от, скажем, 100 тыс. чел. населения - городе всегда продаётся достаточно много старых ноутбуков и компьютеров. У меня к старой с разной степенью винтажности технике есть пристрастие, и я себе уже целую гору вполне рабочего старья купил в пределах 5 т.р - все в среднем двухъядерное до 2 ГГц и до 4 Гб оперативной памяти. Для освоения трёхтомника этого вполне достаточно.

Для жизни под юникс-подобными операционными системами лично мне требуется не меньше 2 ГГц частоты процессора и 4 Гб оперативной памяти. Такое в современной России можно найти за 10-15 т.р без особых проблем.

"Удобнее" всего искать такое, конечно, с помощью т.н. "сайтов объявлений". Если не хотите с таким связываться - как вариант, зайдите в ломбард. Старые ноутбуки всегда там можно найти, лично мне не удавалось поймать момент, когда их там совсем никаких нет в наличии.

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

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

Это я всё про российскую действительность, конечно. Если вы живёте на западе и у вас нет ни единой из вышеописанных возможностей - ну-с, похоже, не врали: реально загнивает :-D

parent From Parthen (unverified) Mon Jul 15 01:01:39 2024 pencil

Мои 5 копеек

Тоже влезу, тоже непрошенно

Собирать компьютер по ломбардам и авито чревато:

1) Всяческими отвалами комплектующих

2) Несовместимостью всего этого китайского барахла с Линукс системами

Не, это конечно весело и познавательно, мои первые компы так и собирались. Но это развлечение на уровне покупки старого мотоцикла - "день едешь, два чинишь".

По делу - советую ТС оригинальные Thinkpad'ы. Они неубиваемые, часто использовались в офисах (а потому их легко купить "с рук") и в большинстве своем у них заявлена поддержка Линукс-систем, так что проблем с драйверами не будет.

parent From Anonymous (unverified) Mon Jul 15 06:57:15 2024 pencil

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 тысяч.

parent From Andrey V. Stolyarov profile Mon Jul 15 08:47:01 2024 pencil

userpic

Re: Выбор рабочей станции в современных реалиях

Всегда считал паранойю самым важным личным качеством любого компьютерщика, но до такой степени проработки вопроса никогда не доходил.

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

Ну и если когда-нибудь всё-таки произойдёт переход на IPv6, придётся намного тщательнее следить за происходящим. Но я по-прежнему практически уверен, что IPv6 не станет основным протоколом Интернета никогда.

parent From Anonymous (unverified) Mon Jul 15 10:24:48 2024 pencil

Re: Re: Выбор рабочей станции в современных реалиях

Ну, учитывая что у достаточно старых чипсетов можно почистить ME-регион до минимально необходимого для того, чтобы комп как-то стартовал, почему бы это не сделать? Всего-то надо заранее выбрать такую материнку, которая поддерживается и в Coreboot, и в me_cleaner и прошить её. Программатор стоит не так уж и дорого по сравнению с новым компом, тем более для многих достаточно простенького за 300 рублей с прищепкой так что даже выпаивать не надо.

У меня Thinkpad X200 почищен, но там ME регион можно просто удалить полностью и комп стартует. А китайские машины не почищены, но они и не подключены к инету. Если буду подключать, провентилирую тему, как там с чисткой ME и Coreboot. Но они были куплены собственно для экспериментов с новомодным UEFI, поскольку на всех остальных машинах у меня классический BIOS, поэтому я не спешу что-то делать.

parent From Andrey V. Stolyarov profile Mon Jul 15 13:39:36 2024 pencil

userpic

Re: Re: Re: Выбор рабочей станции в современных реалиях

Программатор мало купить, его надо ещё и уметь.

parent From Anonim (unverified) Fri Jul 19 02:39:40 2024 pencil

Re: Re: Выбор рабочей станции в современных реалиях

Но я по-прежнему практически уверен, что IPv6 не станет основным протоколом Интернета никогда.

Это интересно. Можете раскрыть мысль, пожалуйста? Какую роль будет играть IPv6 в будущем (количество устройств подключенных по нему будет ведь расти?) и почему он все-таки не станет основным протоколом?

parent From Andrey V. Stolyarov profile Fri Jul 19 09:47:07 2024 pencil

userpic

Re: Выбор рабочей станции в современных реалиях

Подробный комментарий на эту тему содержится во втором томе трёхтомника "Введение в профессию", см. конец параграфа 6.2.3 — там примерно две страницы, набранные мелким шрифтом. Чего я не понял, так это что вы (и такие как вы) забыли на моём сайте.

parent From Владислав (unverified) Mon Jul 15 17:08:25 2024 pencil

Выбор звуковой карты

Могу посоветовать внимательней подойти к выбору звуковой карты, если вы, конечно, соберётесь её себе приобретать.

Сам недавно приобрёл себе карту чтобы звук получше стал и чтобы избавиться от помех. Постоянно слышу в наушниках как работает головка жёсткого диска. Модель Asus DG (интерфейс PCI). Только после покупки узнал, что для этой модели можно аппаратно регулировать громкость только для наушников. Получается, что в передней панели я звук регулировать могу, а звук в колонках, которые воткнуты сзади -- нет.

Можете проверить свою модель вот на этом сайте:

https://www.alsa-project.org/wiki/Matrix:Main

From Thalassa CMS (unverified) Sun Jul 14 14:31:07 2024 pencil

userpic

Установил аватарку для аккаунта. Назвал фотографию по названию идентификатора пользователя, размер юзерпика 68x85. Отлично отображается в предпросмотре комментариев, все хорошо и на странице пользователя (где отображается имя, идентификатор и аватарка). Но вот проблема - при публикации комментария аватарка не показывается по совершенно неясным причинам. Как такое может быть? Предпросмотр же показывает все корректно. Версия Thalassa новая если что, самая новая. Используется шаблон templ_smoky

parent From Andrey V. Stolyarov profile Sun Jul 14 15:02:07 2024 pencil

userpic

Re: userpic

Это уже проще, проблема наверняка в путях к той директории, которая содержит эту вашу аватарку. У генератора (т.е. самой Талассы, в смысле бинарника thalassa) и у CGI-программы совершенно разное виденье путей, поскольку они работают из разных директорий. Пока вы смотрите всякие превьюшки, CGI-программа до вашей аватарки добирается корректно, а когда дело доходит до генерации — thalassa уже со своей колокольни (из той директории, где исходники сайта) директорию с аватарками не видит.

По идее если в config.ini всё правильно прописано, такого быть не должно, но практика может с идеями расходиться. К сожалению, не видя ни машины, ни того, как у вас друг относительно друга расположены исходники сайта, директория с аватарками и веб-директория, я ну никак не смогу определить, что, где и как пошло не так.

parent From Thalassa CMS (unverified) Sun Jul 14 15:45:21 2024 pencil

Re: Re: userpic

Подскажите пожалуйста, какой из 4 путей отвечает(или может отвечать) за корректный просмотр? target, spool, userdbdir или sitesrc? У меня директория с аватарками лежит там же, где и сам сайт(не исходники). Я не могу понять почему все работает кроме одних автарок, по идее некорректные пути должны были мне отрезать хорошую часть возможностей (как это было с другими ошибками раньше)

parent From Andrey V. Stolyarov profile Sun Jul 14 15:52:52 2024 pencil

userpic

Re: Re: Re: userpic

> У меня директория с аватарками лежит там же, где и сам сайт(не исходники).

Ага, тогда дело ровно в этом, под такой вариант Smoky не заточен, как и сама Таласса. Дело в том, что директория, где лежит сайт, предполагается, что существует временно, до следующей полной перегенерации (thalassa gen -r её переименует и на её месте новую сделает). Поэтому, соответственно, НЕ предполагается, что в этой директории будет храниться что-то сколько-нибудь ценное — только результат генерации, который можно перегенерировать в любой момент за несколько секунд.

Попробуйте директорию с аватарками переместить туда, где исходники, и там её обозвать "userpic" (вот ровно так, ни буковкой ни в ту, ни в другую сторону). Таласса при генерации сайта будет эту директорию "публиковать" ровно туда, куда надо (соответствующие директивы есть в base/base.ini), но при этом она ещё и будет видеть лежащие в этой директории юзерпики. thalcgi.cgi будет видеть уже "опубликованную" (читай - скопированную) директорию в вашем веб-пространстве.

parent From Thalassa CMS (unverified) Sun Jul 14 15:59:31 2024 pencil

Потрясающе

Оно сработало! Спасибо!!!

From Student (unverified) Sat Jul 13 21:53:27 2024 pencil

Архитектура ЭВМ на базе RISC-V

Добрый день!

В программе второго семестра ВМК МГУ есть курс архитектуры ЭВМ и языка ассемблера. Есть ли смысл переводить этот курс на базу RISC-V?

В качестве аргумента "за" указывается, что у RISC-V система команд более стройная и логичная, чем у x86. Однако есть риск, что в качестве рабочей среды будет использован эмулятор RARS.

Честно говоря, я не представляю, как можно всерьёз заниматься программированием в эмуляторе. Возможно, его сравнивают с эмулятором MASM, а не с нативной трансляцией через NASM. Но кажется, что полноценная сборка руками через NASM+GCC позволяет гораздо лучше прочувствовать, что происходит, и добавляет какой-то осмысленности, что ли. Сейчас получается, что если я захочу настоящую программу собрать под RISC-V (и эмулятор меня не устраивает), то нужно будет повозиться с QEMU, раздобыть дистрибутив под RISC-V. Как будто просто порог входа повышают для энтузиастов без большого профита (субъективно для меня, по крайней мере).

parent From Andrey V. Stolyarov profile Sat Jul 13 22:05:38 2024 pencil

userpic

Re: Архитектура ЭВМ на базе RISC-V

Лично я всегда говорил, что эмуляторы в обучении программированию недопустимы, и если у вас нет класса машин соответствующей архитектуры, то не может быть вообще никакой речи о курсе "Арх.ЭВМ" на основе такой архитектуры.

Но я много чего говорил — в частности, о категорической недопустимости Си в первом семестре (в итоге огребли буквально всё, о чём я предупреждал ещё в 2010 году). А ещё о том, что факультет якобы computer science, выпускники которого не имеют понятия о частично рекурсивных функциях — это даже не нонсенс, это преступление.

К счастью, я уже больше двух лет никакого отношения к МГУ не имею и мне более-менее всё равно, что там сейчас творится. Предвидя следующий вопрос: нет, хорошо там стать не может. Поздно, точку невозврата давно и прочно проскочили.

parent From asb (unverified) Mon Jul 15 22:57:08 2024 pencil

Re: Архитектура ЭВМ на базе RISC-V

Есть ещё ж RISC-V микроконтроллеры, 32-битные в районе 10 долларов (недавно заказал себе такой для экспериментов), 64-битные в районе сорока, правда выбор поменьше. Полноценный риск комп с графонием обойдется в целого Франклина 0_0

Так что есть варианты помимо Qemu.

parent From Andrey V. Stolyarov profile Mon Jul 15 23:09:05 2024 pencil

userpic

Re: Re: Архитектура ЭВМ на базе RISC-V

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

parent From asb (unverified) Tue Jul 16 17:49:38 2024 pencil

Re: Re: Re: Архитектура ЭВМ на базе RISC-V

Я это писал юзеру, который выше страдал что у него только один вариант - QEMU. Если не эмуляторы, то для массового обучения институтам стоит разоряться на что-то вроде VisionFive2, наверное (цену которого я упомянул, но не называл модель).

parent From Andrey V. Stolyarov profile Tue Jul 16 18:22:18 2024 pencil

userpic

Re: Архитектура ЭВМ на базе RISC-V

Ещё раз, и медленно: вы вообще о чём? Насколько я понимаю, чтобы эту штуку просто запустить, нужен программатор.

Просто примите как данность: там, где не занимаются схемотехникой, компьютер — это такое устройство, которое ставится/кладётся на стол, подключается к розетке 220V, к монитору, клавиатуре, мышке, витой парой к сетевой розетке — и работает. Всё остальное компьютером не является.

parent From riscV (unverified) Wed Jul 17 09:15:22 2024 pencil

Re: Re: Архитектура ЭВМ на базе RISC-V

Судя по картинке, есть куда подключить пару клавиатур, мышек, HDMI-монитор и вставить 1-2 витых пар от сетевых розеток. И есть, куда вставить хвостик адаптера 220V.

https://habrastorage.org/r/w1560/getpro/habr/upload_files/2a3/eec/976/2a3eec976c78ad6a96ecf5279f3fe471.png

parent From Andrey V. Stolyarov profile Wed Jul 17 09:47:41 2024 pencil

userpic

Re: Re: Re: Архитектура ЭВМ на базе RISC-V

Это всё есть, да. А вот грузиться с флешки она, как я понял, не умеет, т.е. ей образ Linux'а нужно программатором заливать. Что довольно странно на фоне традиций, заложенных всякими Raspberry и Orange.

From Parthen (unverified) Sat Jul 13 16:21:02 2024 pencil

Unicode и Си

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

Мой vim (из-за локали ru_RU.UTF-8, так понимаю) сохраняет любой файл на русском в UTF-8. Просто читать и печатать на stdout этот файл получается без проблем, если указать в программе локаль.

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

Для подсчета же символов, гугл предлагает мне "mbstowcs", которая по всей видимости есть только в C++, причем только в новомодном, т.к. там wchar_t

Я близок к тому, чтобы начать вручную написать свои функции и читать файл по байтам. Но что-то такое чувство, что я изобретаю велосипед. Как правильно к этому подступиться?

parent From Andrey V. Stolyarov profile Sat Jul 13 21:59:06 2024 pencil

userpic

Re: Unicode и Си

> если указать в программе локаль.

Без указания локали тоже всё получится.

> читать файл по байтам. Но что-то такое чувство, что я изобретаю велосипед. Как правильно к этому подступиться?

Именно так. Это как раз тот случай, когда велосипед собственного изобретения окажется намного лучше всего, что нагородили авторы всевозможных библиотек, начитавшиеся разнообразных блджад стандартов. Если нужен подсчёт символов, то каждый байт тупо и цинично проверяется на то, не равны ли его старшие биты 1 и 0 (т.е. байт имеет вид 10xxxxxx), и все такие байты в подсчёте не участвуют, т.к. это хвостовые байты от символа. В программе вместо локали предусматривается один глобальный флажок: работаем мы с utf8 или нет ("нет" означает однобайтовую кодировку, больше ничего не бывает, по крайней мере не имеет права бывать). Впрочем, ни на что кроме подсчёта символов этот флажок не влияет.

Локали во всех их проявлениях убиваются ссаными тряпками на дальних подступах.

parent From Anonymous (unverified) Sun Jul 14 02:16:54 2024 pencil

Re: Re: Unicode и Си

С юникодом всё не так просто. То что вы сказали — байты не 10xx xxxx — это не символы, это кодепоинты. Один символ может состоять из нескольких кодепоинтов, если это составной глиф вроде á ü и тд, разложенный на базовую букву и комбинирующую диакритику. Те же символы можно закодировать и одним кодепоинтом и обычно они так и кодируются, если диакртика только одна. То же самое с эмодзи, они содержат модификаторы. Кроме того, символы бывают Wide и Narrow и если требуется не длина строки в символах, а ширина выделяемого поля, то широкие символы (в основном китайский и тд) занимают два знакоместа.

parent From Andrey V. Stolyarov profile Sun Jul 14 08:45:04 2024 pencil

userpic

Re: Re: Re: Unicode и Си

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

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

parent From Anonymous (unverified) Sun Jul 14 03:22:26 2024 pencil

Re: Re: Unicode и Си

А да, ещё желательно было бы наверное проверять на валидность UTF-8 таким образом:

Если символ имеет формат 0y (далее y - недостающие биты до 8 бит), то длина один байт и 10y после него быть не должно. Если символ имеет формат 110y то длина два байта и должен быть ровно один 10y, 1110 — три байта и должно быть два 10y после, 1111y — четыре байта и тд и нужно посчитать сколько за ним идёт 10y, которые могут быть только концевыми байтами. Биты не входящие в маску. определяющую длину символов конкатенируются и получается номер символа в юникоде.

Overlong кодировки считаются недопустимыми, и в софте, который их не проверяет могут встречаться уязвимости. Например код 01100001b — латинская буква a, код 11000001 10100001 по идее тоже "a", но он должен считаться инвалидным. Если программа пропускает такие альтернативные кодировки, то фильтры, вроде режущих HTML-код могут не сработать.

parent From Andrey V. Stolyarov profile Sun Jul 14 08:57:33 2024 pencil

userpic

Re: Re: Re: Unicode и Си

Программа, написанная психически здоровым человеком, должна быть настолько unicode-agnostic, насколько это возможно. В частности, если программа по какой-то причине разбирает HTML или какой-то другой XML (что, опять же, можно делать только от полной безысходности, поскольку все SGML-like разметки суть одно химически чистое мракобесие), она должна в роли открывающей угловой скобки воспринимать исключительно байт 0x3C и более ничего.

Если программа по какой-то причине вынуждена вычислять и как-то там анализировать значения юникодных кодов, представленных в utf8, то она, конечно, перестаёт быть unicode-agnostic, но это не значит, что все программы должны перестать быть unicode-agnostic.

Более того, в одной программе разные подсистемы могут быть и не быть unicode-agnostic. В частности, любой лексический и синтаксический анализ, и вообще любой парсинг следует, очевидно, проводить на исходном потоке байтов, не рассматривая этот поток как utf8, даже если он в utf8. Тогда и проблем с "упущенным" "некорректным" "представлением" активного символа не будет.

Это, кстати, к вопросу о том, почему в текстах на формальных языках non-ascii chars заведомо и категорически недопустимы.

parent From Anonymous (unverified) Mon Jul 15 06:32:13 2024 pencil

Re: Re: Re: Re: Unicode и Си

Ну вот предположим, у вас CMS написана по такому принципу, а какой-нибудь комментатор берёт и пишет <script whatever> но только < кодирует как оверлонг, ваша CMS пропускает это, а браузер интерпретирует оверлонг как угловую скобку, выполняет скрипт и отдаёт например логин и пароль на сервер того, кто эту фиговину запостил.

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

parent From Andrey V. Stolyarov profile Mon Jul 15 08:33:47 2024 pencil

userpic

Re: Re: Re: Re: Re: Unicode и Си

Ну вот предположим, что у бабушки есть МПХ. Тогда, видимо, она будет дедушкой.

Нажми Ctrl-U и посмотри, в какой кодировке отдаётся этот сайт. Это раз. К тому же пароли тут одноразовые и вдобавок никогда не вводятся на страницах с пользовательским контентом. А два — реально браузеры, конечно, пишут отборные говноеды, но всё-таки не идиоты, поэтому, разумеется, ничего подобного произойти не может. Да и вообще, кто считает нужным по какой-то причине НЕ быть unicode-agnostic, тот и трахается с последствиями комитетского дебилизма, а убеждать вообще всех (в том числе тех, кто сам никак юникод не интерпретирует) принимать во внимание всю эту комитетскую херню — эдак можно договориться до встраивания фильтров UTF, например, в стек TCP/IP в ядре. Ну а что, а вдруг чего, а?

И сделай одолжение, свали отсюда. Мне тут не нужны апологеты юникода, а равно и такие персонажи, которые всех окружающих убеждают в необходимости тратить силы на борьбу с заведомо несуществующими проблемами. Силы можно потратить с большей пользой.

UPD: В словосочетании "свали отсюда" какое слово непонятно, первое или второе? Очередь на премод тут пока ещё под моим контролем, и это значит, что твои комменты тут больше не появятся.

parent From Anonymous (unverified) Sun Jul 14 03:34:54 2024 pencil

Re: Re: Unicode и Си

Кстати, мультибайтовые последовательности встречаются даже в Plain ASCII, а именно: и CR LF и просто LF — это один символ, хотя CRLF занимает два байта.

parent From Andrey V. Stolyarov profile Sun Jul 14 08:39:40 2024 pencil

userpic

Re: Re: Re: Unicode и Си

Это уже просто чушь, никто, нигде и никак не заставляет нас рассматривать CRLF как "один символ". Намного проще CR считать обычным whitespace'ом и/или просто тупо игнорировать.

parent From Anonymous (unverified) Sun Jul 14 10:26:23 2024 pencil

Re: Re: Re: Unicode и Си

Почему CR LF - один символ? Это как раз честные 2 символа в ASCII. Просто так уж повелось, что виндосовские текстовые редакторы требуют эти два символа, чтобы показать перевод строки, но двумя символами (в терминах кодировки) эта комбинация быть не перестает.

parent From Andrey V. Stolyarov profile Sun Jul 14 10:39:50 2024 pencil

userpic

Re: Unicode и Си

Как ни странно, это не только виндосовские редакторы. Текстовые протоколы в Интернете (по меньшей мере HTTP, SMTP и telnet, за остальные не поручусь) тоже, если следовать букве спецификации, требуют разделять строки CRLFом. Тяжкое наследие времён телепринтеров, где прокрутка бумаги на строчку вниз и возврат каретки в крайнюю левую позицию были двумя разными (физическими, т.е. механическими, ну или, если угодно, электромеханическими) действиями.

parent From Anonymous (unverified) Mon Jul 15 06:15:03 2024 pencil

Re: Re: Unicode и Си

Неужели кто-то когда-то набирал электронные письма прямо в консоли SMTP-сервера, пользуясь электромеханическим телетайпом?

parent From Andrey V. Stolyarov profile Mon Jul 15 08:35:18 2024 pencil

userpic

Re: Unicode и Си

Достоверно я этого не знаю, но практически уверен, что кто-то когда-то — наверняка.

parent From ARPA (unverified) Tue Jul 16 07:46:02 2024 pencil

CR LF в протоколах

Изначальные прикладные протоколы ( в т.ч до TCP ) были построены вокруг сетевых виртуальных терминалов (NVT) с виртуальной "клавиатурой" и виртуальным "принтером". Одним из основных практических применений APRANet было подключение к системе разделения времени, работающей на другой ЭВМ, без непосредственного соединения терминала (напрямую или через аналоговые линии связи). Последовательность управляющих символов CR LF были выбрана для передачи "новой строки" по сети. При этом сохранялась возможность отдельного использования CR (и LF) прикладными программами.

The sequence "CR LF", as defined, will cause the NVT to be
      positioned at the left margin of the next print line (as would,
      for example, the sequence "LF CR").  However, many systems and
      terminals do not treat CR and LF independently, and will have to
      go to some effort to simulate their effect.  (For example, some
      terminals do not have a CR independent of the LF, but on such
      terminals it may be possible to simulate a CR by backspacing.)
      Therefore, the sequence "CR LF" must be treated as a single "new
      line" character and used whenever their combined action is
      intended; the sequence "CR NUL" must be used where a carriage
      return alone is actually desired; and the CR character must be
      avoided in other contexts.  This rule gives assurance to systems
      which must decide whether to perform a "new line" function or a
      multiple-backspace that the TELNET stream contains a character
      following a CR that will allow a rational decision.

parent From Parthen (unverified) Sun Jul 14 16:12:45 2024 pencil

Re: Re: Unicode и Си

>Без указания локали тоже всё получится.

У меня не получалось. Возможно, дело в ncurses, без него все печатается нормально, а с ним:

Vasya wrote: Муха села на варенье, вот и все стихотворение.

Vasya wrote: ~\ ~C ~E ~A ~@ ~L , ~B ~A ~A ~B ~E ~B ~@ .

Код вот (в заголовочных файлах убраны угловые скобки, иначе сайт их вырезает):

#include stdio.h
#include ncurses.h

int main() {
    FILE *file;
    char filename[] = "example.vns";
    char ch;

    file = fopen(filename, "r");
    if (!file) {
        printf("Error opening file.\n");
        return 1;
    }

    initscr(); 
    cbreak(); 
    noecho(); 
    keypad(stdscr, TRUE); 

    while ((ch = fgetc(file)) != EOF) {
        printw("%c", ch);
    }

    refresh(); 
    getch(); 

    endwin(); 

    fclose(file);

    return 0;
}

>Локали во всех их проявлениях убиваются ссаными тряпками на дальних подступах.

Кстати, где подробно почитать почему? Я где-то на уровне печенки понимаю, что локали кодировку без моего ведома переделывают, но видимо пришло время, когда надо в этом разобраться. (Поиск по гостевой успехов не принес)

parent From Andrey V. Stolyarov profile Sun Jul 14 16:36:15 2024 pencil

userpic

Re: Re: Re: Unicode и Си

> Возможно, дело в ncurses

Так и есть, да. У ncurses свой способ вывода, и ей надо знать, utf это или не utf, а она это, как всякая "добропорядочная" (читай — мейнстримная) либа, узнаёт из установленной локали.

Ну, я не знал, что вы ncurses используете. Обычные программы, у которых ввод из stdin и вывод в stdout, вполне могут себе позволить быть encoding-agnostic.

> Кстати, где подробно почитать почему?

Потому что зависимости от внешних файлов на ровном месте, например. А ещё потому что многие (к счастью, не все) программы, использующие возможности locales, невозможно убедить одновременно разговаривать по-английски и допускать обработку русских букв — потому что безответственные мудаки, их написавшие, переменную LC_ALL обрабатывают, а на LANG/LANGUAGE кладут болт.

По поводу угловых скобок — заменяйте знак "меньше" на &lt; и всё будет.

parent From Parthen (unverified) Sun Jul 14 16:45:56 2024 pencil

Re: Re: Re: Re: Unicode и Си

Понял, спасибо!

>По поводу угловых скобок — заменяйте знак "меньше" на < и всё будет.

Было бы здорово указать это на странице отправки комментария

From Григорий Кузнецов (unverified) Fri Jul 12 10:09:33 2024 pencil

pascal

Приветствую уважаемых посетителей сайта!

Начинал программировать на python, но после прочтения первого тома "Программирование: введение в профессию" практически полностью перешел на pascal. Благо мне требуется достаточно простая работа с текстовыми файлами и csv таблицами, хотя в них по 20-40 столбцов и несколько тысяч строк.

В качестве основной рабочей среды, после нескольких эксперементов, решил использовать Arch Linux и zsh командную строку. Сильно нравится кастомизация.

На днях приступлю к изучению второго тома.

Выражаю глубокую благодарность Андрею Викторовичу Столярову за учебные пособия! Особенно за их бесплатные версии.

parent From Andrey V. Stolyarov profile Fri Jul 12 10:14:11 2024 pencil

userpic

Re: pascal

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

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

parent From Anonymous (unverified) Fri Jul 12 13:39:21 2024 pencil

Re: Re: pascal

Почему не существует? А бумажные?

А почему бы и нет? Работет же...

parent From Andrey V. Stolyarov profile Fri Jul 12 14:36:44 2024 pencil

userpic

Re: Re: Re: pascal

> Почему не существует? А бумажные?

Читать не умеете? А зачем вам тогда книги?

> А почему бы и нет? Работет же...

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

From Thalassa CMS (unverified) Thu Jul 11 18:10:50 2024 pencil

Thalassa CMS

Очень странная история с капчей. В процессе настройки сайта все отлично, у меня все работает. Но вот проблема - отваливается капча по неизвестным причинам. То есть я правильно ее ввожу, а мне говорят failed абсолютно всегда. Не подскажете область, в которой нужно искать проблему? У меня полностью рабочий сайт, но капча все ломает своей "непроходимостью" и ошибок не выдает, как будто я ее действительно ввожу неверно. Помогите пожалуйста, Андрей Викторович

parent From Andrey V. Stolyarov profile Thu Jul 11 18:45:40 2024 pencil

userpic

Re: Thalassa CMS

Ну, я такого не видел ни разу. Но чтобы хотя бы просто начать думать в сторону проблемы, стоит, наверное, сообщать подробности, а не просто "не работает". В частности, талассовская капча всегда выдаёт диагностику — сообщает, по какой конкретно причине она сочла капчу непройденной, но вы нам тут даже этого сказать не хотите.

parent From Thalassa CMS (unverified) Thu Jul 11 19:05:16 2024 pencil

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:

parent From Andrey V. Stolyarov profile Thu Jul 11 19:27:41 2024 pencil

userpic

Re: Re: Re: Thalassa CMS

> wrong captcha answer.

Теперь хотя бы знаем, обо что оно обломалось. А не может быть так, что у вас, например, два экземпляра thalcgi.cgi, один показывает форму с капчей, а обрабатывает уже другой? Или, скажем, конфигурационные файлы от Талассы старой версии (0.2.* или ещё старее), а бинарь thalcgi.cgi уже от новой? Вот, скажем, если на страничке с капчей Ctrl-U нажать, там в коде формы есть поле captcha_nonce?

parent From Thalassa CMS (unverified) Thu Jul 11 20:09:20 2024 pencil

Re: Re: Re: Re: Thalassa CMS

Такого поля нет и да, я переносил старые конфиги в новую версию талассы и с новыми бинарниками

parent From Andrey V. Stolyarov profile Thu Jul 11 20:14:01 2024 pencil

userpic

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, как это по второй ссылке рассказывается.

parent From lucy (unverified) Thu Jul 11 23:44:38 2024 pencil

Re: Re: Re: Re: Re: Re: Thalassa CMS

Как же приятно прийти на все готовенькое, буквально 2 дня назад было тоже самое, спасибо большое!

parent From Andrey V. Stolyarov profile Fri Jul 12 08:02:06 2024 pencil

userpic

Re: Thalassa CMS

Ага, и для кого я в новостях на сайте Талассы подробно писал, как правильно мигрировать на новые версии?

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

parent From nice (unverified) Fri Jul 12 13:47:18 2024 pencil

Сработало

Спасибо огромное за помощь!

parent From Andrey V. Stolyarov profile Fri Jul 12 15:02:05 2024 pencil

userpic

Re: Сработало

Вот уж не жалко :-) заходите ещё.

From Anonymous (unverified) Mon Jul 8 20:01:33 2024 pencil

Опечатки в архивах

Это мелочь, конечно же, но в архивах гостевой книги на этом сайте заметил пару штук, похожих на опечатки.

В Архиве гостевой книги по 25 сентября 2012 г. последний коммент датирован 31 мая 2013 года.

В Архиве гостевой книги с 25.09.2012 по 02.06.2019 последний коммент датирован 23 апреля 2021 года.

parent From Andrey V. Stolyarov profile Wed Jul 10 13:25:10 2024 pencil

userpic

Re: Опечатки в архивах

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

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

parent From Anonymous (unverified) Wed Jul 10 18:26:26 2024 pencil

Re: Re: Опечатки в архивах

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

From Вова (unverified) Fri Jul 5 15:40:37 2024 pencil

Несколько слов благодарности

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

From anon (unverified) Mon Jul 1 17:29:08 2024 pencil

Raspberry Pi

Вряд ли коммент пройдёт модерацию, но не могу не поделиться "радостью". Только что получил по почте raspberry pi, и в бумажной инструкции пара примеров, как помигать лампочкой на ПИТОНЕ, Карл!

Вот прям так и написано "import some_shit\n\npognali()"

Аж чаем поперхнулся, чуть плату не залил. Хотя стоит уточнить, наверное, что это не голый pi всё-таки, а наборчик "для чайников" от сторонних продавцов, мануальчик от них же

parent From Andrey V. Stolyarov profile Mon Jul 1 18:28:32 2024 pencil

userpic

Re: Raspberry Pi

Не вижу ничего удивительного. Питон — это такой специальный трёхколёсный велосипедик для тех, кто учиться кататься не хочет, но при этом почему-то очень хочет то ли просто кататься (не учась), то ли при этом ещё и всем говорить, что он ваще прям крутой велосипедист, что аж куда деваться.

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

parent From another anonymous (unverified) Mon Jul 1 23:01:08 2024 pencil

Re: Raspberry Pi

Я так думаю, помигать лампочками можно и из командной строки, ибо это GPIO, и ядро даёт доступ к GPIO через sysfs. Ещё есть соответствующие файлы устройств в /dev , которыми можно воспользоваться, например, в программах на C.

А мануальчик можно просто проигноровать. И не покупать всякие наборчики.

From Anonymous (unverified) Sat Jun 29 14:47:15 2024 pencil

Работа в IT на западе

Андрей Викторович, добрый день.

Нашел одну статью [url removed] (прошу прощения за ссылку на этот сайт, предлагаю удалить ее из коммента, если вам не нравится), в которой автор огорчен тяжестью поиска работы на западном рынке. Если кратко, то основная мысль статьи такова: в Европе и США опытные разработчики подолгу ищут работу, конкурс на вакансии дикий, приходится соглашаться на низкие зарплаты, рынок работника закончился. Статья по большей части эмоциональная, конкретных фактов или исследований не содержит (разве что пару скриншотов), поэтому у меня есть основания ей несколько не доверять.

Вы писали ранее, что сейчас находитесь в Европе. Наблюдаете ли вы такую ситуацию с рынком труда в IT? Если да, то как вы думаете, может ли такая ситуация случиться во всем мире?

Сам я в РФ, искать работу в западных компаниях не пробовал.

parent From Andrey V. Stolyarov profile Sat Jun 29 18:43:31 2024 pencil

userpic

Re: Работа в IT на западе

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

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

parent From anonymous (unverified) Sat Jun 29 22:49:45 2024 pencil

Re: Работа в IT на западе

Непрошеное и совершенно банальное мнение безвестного анонима.

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

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

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

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

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

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

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

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

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

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

parent From anonymous (unverified) Sat Jun 29 23:21:59 2024 pencil

Re: Работа в IT на западе

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

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

parent From Andrey V. Stolyarov profile Sat Jun 29 23:32:31 2024 pencil

userpic

Re: Работа в IT на западе

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

Sapienti sat. По-моему, не надо искать сложностей там, где их нет, просто кто-то отрабатывает грант на очередную ИПСО.

parent From anonymous (unverified) Sun Jun 30 01:14:39 2024 pencil

Re: Re: Работа в IT на западе

>чуть ли не единственная правильная стратегия сейчас состоит в возвращении в россию

Тогда все куда понятней.

>нет проблем её отыскать в недрах Хабра, было бы желание

Уверен, нашел бы больше, чем одну.

Если это такая очевидная propaganda, то не очень ясно, на кого это рассчитано. Если релокация произошла вследствие несовпадения моральных, политических и прочих социально-философских взглядов релоканта с современной идеологией РФ, то при чем тут такая презренная вещь, как величина зарплаты?

Если же политические взгляды релоканта индифферентные и дело только в "конкурсах" и в деньгах, то почему надо именно в Россию возвращаться из непонравившегося места? Может, стоит попробовать в Японию махнуть. Странно с точки зрения экономики в сфере информационных технологий делить мир на Россию и нероссию.

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

В общем, мани квещнс, ноу ансверс, как всегда.

parent From Oliver (unverified) Mon Jul 1 07:08:09 2024 pencil

Re: Re: Re: Работа в IT на западе

> В общем, мани квещнс, ноу ансверс, как всегда.

Не совсем по теме, но тут я бы предпочел сказать "а лот оф куешнс, ноу энсерс", вместо "мани", потому что это смахивает на "деньги" если не верно произнести это слово

From timar07 (unverified) Fri Jun 28 15:41:56 2024 pencil

CLI утилита для учета финансов

Уважаемый Андрей Викторович, здравствуйте!

В последнее время у меня появилась проблема учета финансов. До этого вел все записи в блокноте, однако доходы/расходы стали учащаться, и первая мысль, которая возникла в данной ситуации, была имнно об автоматизации этого рутинного процесса.

Вопрос состоит в следующем: сталкивались ли Вы с подобной проблемой? Если да, то пользуетесь ли Вы какой-нибудь CLI утилитой (по типу ledger) или же Вы предпочитаете другой способ ведения домашней бухгалтерии?

parent From Andrey V. Stolyarov profile Fri Jun 28 20:56:08 2024 pencil

userpic

Re: CLI утилита для учета финансов

См. сюда, ближе к концу текста коммента.

From chum (unverified) Fri Jun 28 03:46:56 2024 pencil

наебать издательство

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

parent From Andrey V. Stolyarov profile Fri Jun 28 08:54:28 2024 pencil

userpic

Re: наебать издательство

Для начала:

> при этом имущественные права, естественно, были переданы правоторговцам

Что в этом "естественного"?! Почему вы вообще считаете возможным утверждать, что передача прав издателю "естественна"? Вы вообще сайтом не ошиблись? Копирастов тут не любят и даже обижают.

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

Теперь по основному вопросу. Технически ничего невозможного здесь нет, и, более того, я вполне понимаю авторов, которые так поступают. Хочется даже сказать, что они правильно делают, но вообще-то этого сказать нельзя, потому что правильно — это с самого начала объяснить издателю, что никакой передачи прав не будет и договор может быть только лицензионным. Между прочим, действующий закон (четвёртая часть ГК РФ) заточен именно под такой вариант гражданского взаимодействия между автором и издателем, а то, что издатели из кожи вон лезут, чтобы навязать автору именно что передачу прав — это, во-первых, повод относиться к издательской мафии так, как к ней следует относиться: как к паразитам, подлежащим истреблению; во-вторых, это один из аргументов, почему так называемое "авторское" право на самом деле никакого отношения к интересам авторов не имеет; и в-третьих, естественно, это повод требовать отмены интеллектуальной собственности как юридического института.

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

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

parent From ana (unverified) Fri Jun 28 18:48:58 2024 pencil

Re: Re: наебать издательство

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

parent From Andrey V. Stolyarov profile Fri Jun 28 20:47:26 2024 pencil

userpic

Re: наебать издательство

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

На моём примере можно заметить, что ничего безвыходного здесь нет.

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

From Саша (unverified) Mon Jun 24 11:27:29 2024 pencil

Касательно Reticulum Network Stack

Здравствуйте! Подскажите, слышали ли вы о Reticulum Network Stack (см. [url removed])? Думаю, проект заслуживает вашего внимания.

P.S. Также может оказаться полезным один тред на Реддите* (см. [url removed]), где автор делится информацией о Reticulum и отвечает на популярные вопросы (о внутреннем устройстве, криптографической базе, устойчивости сетей, а также Python).

* Да, без скриптов не работает. Но, право, давайте не будем спотыкаться о такие мелочи. Можете воспользоваться альтернативным фронтендом типа Redlib, там JS не нужен; удобный сервис переадресации: [url removed]

parent From Andrey V. Stolyarov profile Mon Jun 24 11:38:16 2024 pencil

userpic

Re: Касательно Reticulum Network Stack

Чего ты сюда припёр этот кусок питонячьего говна? Чего ты сам сюда припёрся? Ты ошибся дверью, здесь говно не едят, делай это в другом месте. А сюда дорогу забудь, и желательно навсегда.

From Арсений (unverified) Mon Jun 24 10:00:30 2024 pencil

Инструмент для таблиц

Здравствуйте!

Часто в работе хочется применить связные таблицы (а ля "список функций", "список тестов", "таблица покрытия функций тестами"; ну и "вывести непокрытые функции"). При этом структура таблиц обычно не очень сложная.

Брать субд/эксели нет желания, слишком уж они громоздкие (а хочется именно "на коленке" накидать пару-тройку таблиц). В последний раз обходился tsv-файлами и пачкой скриптов (sort, join, awk).

Бывают у Вас похожие задачи? Какими инструментам для этого пользуетесь? Или это всё от лукавого и проблема выдуманная?

parent From Andrey V. Stolyarov profile Mon Jun 24 11:29:05 2024 pencil

userpic

Re: Инструмент для таблиц

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

parent From Арсений (unverified) Mon Jun 24 12:18:20 2024 pencil

Re: Re: Инструмент для таблиц

Однако) С нетерпением жду!

Или оно для личного пользования планировалось?

parent From Andrey V. Stolyarov profile Mon Jun 24 12:35:09 2024 pencil

userpic

Re: Инструмент для таблиц

Сначала для личного, потом в opensource, естественно. Просто между этими двумя вариантами будет ещё написание документации, я после Талассы перестал к этому этапу относиться легкомысленно, ибо там документация потребовала четырёх месяцев.

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

parent From Василий (unverified) Mon Jun 24 12:52:33 2024 pencil

Re: Re: Инструмент для таблиц

Очень приятно читать, тоже искал похожий инструмент! Присоединяюсь к ожидающим.

Когда-то давно добавил к себе в закладки Lotus 1-2-3, который, вроде как подходит под описание "программа для работы с таблицами в терминале". Руки до него не доходили, но сейчас достал из закладок и обратил внимание, что это проприетарщина.

А тут ещё с блэкджеком и шлю... т.е. с HTML и LaTeX.

parent From Alejandro profile Mon Jun 24 18:35:52 2024 pencil

Re: Re: Инструмент для таблиц

А это никак случайно не связано с этой историей? :-)

parent From Andrey V. Stolyarov profile Mon Jun 24 18:59:15 2024 pencil

userpic

Re: Инструмент для таблиц

Не так чтобы напрямую, но codebase этой софтины с той имеет сильно ненулевое пересечение – если не считать библиотек, то процентов двадцать, а если библиотеки посчитать, то все 95, но это читерство. И эта, в отличие от той, никак на особенности национального бухучёта не завязана, так что надеюсь её сразу же снабдить документацией и опубликовать. Ну как "сразу же"... как шшшшмагу.

parent From Дмитрий (unverified) Wed Jun 26 01:57:38 2024 pencil

Re: Инструмент для таблиц

SQLite. Вы описали задачи декларативного языка SQL.

parent From Andrey V. Stolyarov profile Wed Jun 26 09:28:03 2024 pencil

userpic

Re: Инструмент для таблиц

Задач для SQL не существует в природе. Точно так же, как, например, для Кобола.

А ещё — пользовательские данные должны храниться в текстовых файлах.

UPD: Давай-давай отсюда. В Интернете много мест, подходящих для любителей церебральной копрофагии, но этот сайт в их число не входит.

parent From Alexander (unverified) Thu Jun 27 20:44:34 2024 pencil

Re: Re: Инструмент для таблиц

Раз уж зашла речь про хранение пользовательских данных, воспользуюсь случаем уточнить. Захотелось написать свою записную книгу с сохранением данных в файл и возможностью поиска по фамилии/имени. Какая в идеале должна быть структура у такого файла? В голову приходит только аналогичный как в файле /etc/passwd.

parent From Andrey V. Stolyarov profile Thu Jun 27 22:08:13 2024 pencil

userpic

Re: Инструмент для таблиц

Тут есть сразу два вопроса: (1) допустимо ли всё хранить в одном текстовом файле и (2) каков должен быть формат этого файла.

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

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

name     Вася Пупкин
phone    +7(555)5557-788
email    vasya@example.com
remark   Наш Вася самых честных правил,
         Когда забил на институт,
         Знакомых баб бухать заставил
         Хотя и знал, что не дадут.

name     Петя Виноградов
phone    +7(888)555-3210
remark   инструктор по ничегонеделанью

По-моему, изрядно более гибко, чем как в passwd.

parent From Alexander (unverified) Fri Jun 28 09:56:24 2024 pencil

Re: Re: Инструмент для таблиц

Спасибо за развернутый ответ. Видел на разных форумах, посвященных Паскалю, что подобные программы делали с записью в типизированный файл с расширением “.dat”. Такой метод по вашему мнению совершенно неправильный?

parent From Andrey V. Stolyarov profile Fri Jun 28 11:39:31 2024 pencil

userpic

Re: Инструмент для таблиц

А вот зачем? Чтобы что?

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

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

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

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

NB: сказанное никоим образом не означает, что модель хранения, основанная на записях фиксированного размера, вообще никогда не нужна. Очень даже нужна, те же файловые системы тому пример, там и блоки фиксированного размера, и inode'ы фиксированного размера, и всякий суперблок, и т.п. Но там определяющим фактором выступает именно что организация быстрого поиска, т.е. файловая система на диске представляет собой весьма развесистую структуру данных, позволяющую быстро искать и быстро изменять. Всё это нужно, когда простой линейный поиск нас удовлетворять перестал.

Но речь-то идёт о несчастной записнушке. И вот смотрите: объём небезызвестной графской графомании под названием "Война и мир" — около 3 MB, если в однобайтной кодировке, и вдвое больше, если в utf8. Чтение файла такого объёма в современных условиях занимает от трети секудны до где-то двух секунд, необходимость поиска нужной подстроки здесь ничего не добавляет, поскольку сравнения байтиков, уже прочитанных в память, требуют времени намного меньше (т.е. всё вместе займёт времени ровно столько, сколько потребуется для чтения с диска). Это если файл ещё в кеши не лёг, т.е. повторный поиск будет работать в десятки раз быстрее за счёт того, что с диска читать уже ничего не надо. Навертев всякого быстрого поиска, можно время нахождения нужной записи снизить до тысячных и даже, наверное, миллионных долей секунды. А теперь внимание, вопрос: нам не пофигу? Во-первых, записнушка даже близко не будет сравнима по объёму с "Войной и миром", так что реальные задержки на поиск будут измеряться сотыми долями секунды. Во-вторых, даже устранение двухсекундной задержки не факт что стоит месяца работы — ну, разве что если заказчик сильно возбухнет, а нам очень нравятся те деньги, которые он нам платит.

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

parent From Alexander (unverified) Fri Jun 28 14:54:24 2024 pencil

Re: Re: Re: Инструмент для таблиц

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

From Anonymous (unverified) Sat Jun 22 02:48:20 2024 pencil

Anonymous

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

parent From Andrey V. Stolyarov profile Sat Jun 22 09:34:05 2024 pencil

userpic

Re: Anonymous

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

Ладно, проблема примерно понятна, подумаю, что с этим сделать. Только сроков никаких пообещать не могу даже приблизительно.

From НеПрограммист (unverified) Thu Jun 20 19:34:34 2024 pencil

От себя

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

From Thalassa CMS (unverified) Thu Jun 20 17:17:58 2024 pencil

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, по инструкции для одиночного ресурса и он работал как надо.

parent From Andrey V. Stolyarov profile Fri Jun 21 11:22:04 2024 pencil

userpic

Re: Thalassa CMS

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

From Anonymous (unverified) Thu Jun 20 15:58:00 2024 pencil

parent From Andrey V. Stolyarov profile Fri Jun 21 11:00:07 2024 pencil

userpic

Re: Хотите поражать? Реклама вашей книги! (Видимо палёной)

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

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

From rkvg-es (unverified) Tue Jun 18 18:06:37 2024 pencil

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

Со сломанным текстовым слоем в PDF-ках всё понятно, но что насчёт встроенного содержания (navigation pane)? Его тоже нет по какой-то конкретной причине? И если да, то, наверное, об этом также стоит дописать в FAQ. А если всё же нет, то мне видится, что это могло бы значительно снизить для читателей остроту проблемы с поиском в PDF.

Извиняюсь, если этот вопрос уже задавался.

parent From Andrey V. Stolyarov profile Tue Jun 18 19:56:34 2024 pencil

userpic

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

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

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

parent From rkvg-es (unverified) Wed Jun 19 08:31:16 2024 pencil

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

Замечательно, спасибо!

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

parent From Andrey V. Stolyarov profile Wed Jun 19 09:40:41 2024 pencil

userpic

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

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

Идея "активных" ссылок на веб — таких, которые заставляют программу просмотра PDFа запускать браузер — вызывает у меня инстинктивное противодействие, так что такого, скорее всего, всё-таки не будет.

parent From Anonymous (unverified) Thu Jun 20 07:43:12 2024 pencil

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

Стоит ли ожидать новое, электронное, издание в каких-нибудь иных форматах отличных от PDF и DJVU?

parent From Andrey V. Stolyarov profile Thu Jun 20 09:57:03 2024 pencil

userpic

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

Вот уж точно нет.

parent From Anonymous (unverified) Mon Jun 24 03:01:24 2024 pencil

Раз уж электренное издание...

Может сделаете алфавитный указатель?

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

parent From Andrey V. Stolyarov profile Mon Jun 24 11:22:48 2024 pencil

userpic

Re: Раз уж электренное издание...

Он и сейчас есть, см. в конце третьего тома.

From Anonymous (unverified) Tue Jun 18 08:36:01 2024 pencil

Глава 7.3.3

Объясните пожалуйста, зачем в новый тред передавать указатель на структуру с данными и вешать семафоры, чтобы избежать гонки, если можно просто закрыть мьютекс переданной структуры (в новом треде), чтобы основной поток подождал пока мы скопируем себе структуру? Или, что ещё проще, почему нельзя для каждого потока иметь свою структуру? Они же все равно будут в памяти, вопрос только в какой: на стеке у основого потока, на стеке у дочернего потока или в куче.

parent From Andrey V. Stolyarov profile Tue Jun 18 08:53:07 2024 pencil

userpic

Re: Глава 7.3.3

> если можно просто закрыть мьютекс переданной структуры (в новом треде), чтобы основной поток подождал пока мы скопируем себе структуру?

А кто вам сказал, что основной поток не успеет проскочить раньше, чем порождённый тред успеет закрыть мьютекс?

> Или, что ещё проще, почему нельзя для каждого потока иметь свою структуру?

"Свою структуру" — это вы как себе представляете, локальной её сделать в главной функции потока? А откуда основной поток узнает, по какому адресу в порождённом потоке живёт эта структура?

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

Одним из ответов на вопрос "почему" тут может служить сам факт возникновения у вас вот этих вот вопросов. Как говорят в таких случаях, sapienti sat.

parent From Anonymous (unverified) Tue Jun 18 09:15:02 2024 pencil

Re: Re: Глава 7.3.3

> "Свою структуру" — это вы как себе представляете, локальной её сделать в главной функции потока? А откуда основной поток узнает, по какому адресу в порождённом потоке живёт эта структура?

struct data_for_thread
{
    int some_value;
};

void* f(void *data)
{
    struct data_for_thread *d = (struct data_for_thread *)data;
    /* Just use `d' as you wish */
}

void main(void)
{
    int i;
    thread_t threads[4];
    struct data_for_threads data[4];
    
    for (i = 0; i < 4; ++i)
        pthread_create(&threads[i], NULL, f, (void*)(&data[i]));

    for (i = 0; i < 4; ++i)
        pthread_join(&threads[i]);
}

Код без обработки ошибок и т.п., просто для объяснения идеи.

Не вижу, что тут может пойти не так.

parent From Andrey V. Stolyarov profile Tue Jun 18 11:38:43 2024 pencil

userpic

Re: Re: Re: Глава 7.3.3

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

From uint (unverified) Fri Jun 14 12:52:37 2024 pencil

интерпретируемость и компилируемость

Скажем, Python при желании можно транслировать в Си, в то же время для Си создано немало интерпретаторов. Если всё зависит только от метода, который используется для дальнейшей трансляции и выполнения кода, то интерпретируемость и компилируемость оказываются не свойствами самого языка, а свойствами реализации. Поправьте меня, если я что-то не понимаю и путаюсь в терминологии.

parent From Andrey V. Stolyarov profile Fri Jun 14 13:38:56 2024 pencil

userpic

Re: интерпретируемость и компилируемость

Здесь есть ровно два варианта: или вы читаете полностью часть 12 третьего тома трёхтомника, и особенно внимательно — главу 12.5 (эту желательно с карандашиком, особенно в вашем случае — это, скорее всего, ваш единственный шанс на удаление говна из мозга), или сваливаете вон с моего сайта и больше никогда сюда не возвращаетесь. Возможно, впрочем, и то и другое. Даже, наверное, правильнее будет, если вы отсюда свалите в любом случае, поскольку мне тут не нужны такие персонажи, которые считают питон имеющим право на существование.

parent From rkvg-es (unverified) Tue Jun 18 17:55:34 2024 pencil

Re: Re: интерпретируемость и компилируемость

Кстати, с Вашего позволения: предлагаю заменить в тексте "скриптинг" на "скриптование", так как ассимилированная форма заимствования более верна с точки зрения русского языка, на мой взгляд.

parent From Andrey V. Stolyarov profile Tue Jun 18 19:59:08 2024 pencil

userpic

Re: Re: Re: интерпретируемость и компилируемость

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

parent From rkvg-es (unverified) Wed Jun 19 09:07:52 2024 pencil

Re: Re: Re: Re: интерпретируемость и компилируемость

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

хочу только напомнить то, что уже не раз и не два (и, наверное, даже не десяток раз) говорилось

Извините. Просто не читаю Ваш сайт на постоянной основе.

Может быть, тогда пришло время для отдельной гостевой странички с комментариями под эррату? С соответствующими пояснениями о том, чего там ждут, а чего нет, конечно же. Или хотя бы обозначить таковые пояснения где-нибудь явно - скажем, сносками на страницах "Книги", "Обратная связь", "Гостевая книга", да в FAQ хотя бы. Как Вам виднее будет.

И напоследок: честно не знаю, относится ли это к тексту книги, но заметил вот что. На странице "главных спонсоров проекта" указаны суммы без обозначения валюты. И остаётся загадкой, что же имелось в виду: рубли? гривны? тенге? евро, доллары? русские рубли? белорусские? приднестровские? Это довольно-таки неоднозначно, так как страницы "Об авторе" тоже нет, а подобные Вам люди с русским языком и именем живут во всём мире. К тому же, книги живут дольше авторов (а хорошие - сильно дольше), поэтому было бы неплохо, на мой взгляд, если бы со временем текст не утрачивал свой смысл нигде и ни в чём.

parent From Andrey V. Stolyarov profile Wed Jun 19 10:20:23 2024 pencil

userpic

Re: интерпретируемость и компилируемость

> и порой ощутимо царапать глаз

Здесь, по-видимому, имеется разница в восприятии слов. В моём понимании "скриптование" имеет смысл существенно более узкий, нежели "скриптинг". Я как-то так привык считать, что скриптование — это замена последовательностей рутинных действий скриптом. Ну то есть когда что-то такое взяли и оскриптовали. Т.е. вот когда человек понимает, что в десятый или какой там раз тратит время на исполнение одной и той же процедуры, мысленно говорит "тьфу, чёрт" и открывает редактор, чтобы писать скрипт, который эту процедуру будет проделывать за него. Ну, или зовёт программиста, который ему этот скрипт напишет. Вот это вот — "скриптование". Т.е. была ручная потеря времени, но мы потратили чуток времени на скриптование, и теперь у нас есть скрипт. Тогда как "скриптинг" — это вообще всё скриптовое программирование и заодно всё, что с ним связано, а отнюдь не только процесс написания скрипта для автоматизации какой-то конкретной рутины.

Ну то есть вот, скажем, программист, написавший жирную программу, понимает, что она ожирела в достаточной степени, чтобы её было неудобно использовать без встроенных возможностей скриптования, берёт какой-нибудь libtcl и встраивает в своё программу. Вот это вот он занимается скриптингом, но никоим образом не скриптованием. Скриптование начнётся, когда кто-то — сам ли он или кто-то из пользователей его программы — начнёт писать скрипты для часто встречающихся в ходе работы ситуаций. Точно так же и скрипты пишутся не только для автоматизации ручных действий, но и для решения других задач — таких, которые никто никогда вручную не выполнял. Помимо веба с трижды проклятым client side scripting, можно назвать ещё инициализационные скрипты в операционках, да мало ли что ещё. И вот это всё тоже скриптинг, но не скриптование. Во всяком случае, если эти слова воспринимать так, как их воспринимаю лично я (а такое восприятие может отличаться в соседних городах и даже в соседних отделах одной конторы).

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

> для отдельной гостевой странички с комментариями под эррату

А чем вас не устраивают комментарии на страничке самой эрраты?

> И остаётся загадкой, что же имелось в виду: рубли? гривны? тенге? евро, доллары?

На мой взгляд, всё станет очевидно, если прочитать первое предисловие (которое "философское").

parent From rkvg-es (unverified) Wed Jun 19 12:16:49 2024 pencil

Re: Re: интерпретируемость и компилируемость

> Здесь, по-видимому, имеется разница в восприятии слов.

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

> А чем вас не устраивают комментарии на страничке самой эрраты?

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

> Вы меня только что на такую трату времени таки исхитрились развести

Ну, я просто стараюсь быть вежливым. :)

From cadabr (unverified) Tue Jun 11 22:26:01 2024 pencil

FAQ ideal_language

Предлагаю добавить ссылочку в FAQ: http://stolyarov.info/guestbook/archive/2/#comment-1166.

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

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

parent From Andrey V. Stolyarov profile Wed Jun 12 13:11:01 2024 pencil

userpic

Re: FAQ ideal_language

Ну, добавить-то я её добавил, пусть будет.

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


pencil

пояснение


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

Если вы искали сайт замечательного писателя-фантаста Андрея Михайловича Столярова, то вам, к сожалению, не сюда.

Андрей Михайлович Столяров в библиотеке Мошкова

ваш сеанс


Авторские права © Андрей Викт. Столяров, 2009 — 2024