Чем плох Python?
Просьба к Python-хейтерам - вы можете адекватно и по пунктам сформулировать, чем он плох? Чем он хуже по сравнению с Perl, Ruby, Javascript, другими подобными языками?
Просьба к Python-хейтерам - вы можете адекватно и по пунктам сформулировать, чем он плох? Чем он хуже по сравнению с Perl, Ruby, Javascript, другими подобными языками?
GNU Poke - новый интерактивный редактор бинарных данных со встроенным процедурным языком программирования, предназначенным для описания структур данных и их изменения. GNU Poke позволяет редактировать байты в отдельно взятом бинарном файле или его части, а также создавать программы на базе Poke для шаблонного изменения, просмотра и редактирования файлов или отдельных абстрактных структур внутри бинарных файлов (примером такой программы мог бы служить редактор mp3-тегов или значений в sqlite-базе данных).
GNU Poke является консольной утилитой, использующей gnu-библиотеку readline, однако также существует графический интерфейс, созданный с применением Tk/Tcl. Виртуальная машина Poke основана на Jitter.
Релиз GNU Poke 1.0 состоялся 26 февраля 2021 года, разработка продолжалась в течение 3 лет.
Сабж
Хочу изучить тему как хобби, чтобы мочь рисовать разное самостоятельно, без магии игрового движка.
Уровень нужен «для идиотов», для школьного уровня подготовки. Возможно, в учебниках для вузов такое есть? Тут кто-нибудь учится в вузе, или это уже не модно?
С меня как всегда ничего. Заранее спасибо)
ERP-шники из прошлого треда сдулись, а мой интерес к вопросу только разгорелся. Моя попытка нарыть что-то более-менее объемное по теме создает ощущение, что ERP — это как онанизм: все занимаются, но никто не обсуждает. Нашел забавную статью на хабре:
https://habr.com/en/post/447162/ - Не купитесь на ERP
Сразу скажу, что я не согласен с автором, но позиция интересна. Если слегка смягчить ее, то получится что-то такое: если на вашем предприятии бардак, то ERP за вас не сможет его организовать; если же вы навели порядок на своем предприятии, то ERP вам уже особо и не нужна.
В прошлом треде я уже затронул тему того, что далеко не всем и не для всего нужна компьютеризация/автоматизация. То есть, задачей интегратора, прежде всего, должен быть поиск конкретных рутинных процессов и оптимальных путей для их автоматизации.
Подход SAP в этом плане весьма остроумен с коммерческой точки зрения, потому что работы по сверхточному нанесению пользы сам SAP не выполняет, вместо этого клепая вот такие таблички на 240 столбцов:
https://www.sapdatasheet.org/abap/tabl/mara.html
Ну или просто позволяя вам выбрать из готового набора 110 000 (сто десять тысяч) табличек те, которые подойдут вашему бизнесу... или не подойдут. Остроумен с коммерческой точки зрения такой подход потому, что с позиции человека, который не разбирается в IT, то есть, типового клиента SAP, какой-нибудь SAP R/3 предоставляет собой крупную хорошо проработанную и проверенную систему, которая покрывает чуть ли не все на свете варианты бизнес-процессов предприятия. В такие моменты я люблю вспоминать покойного Дейкстру:
“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.”
То есть, приходит менеджер, который отвечает за принятие решений, и спрашивает у продажника SAP: «у вас есть ${фичанейм} в системе? Насколько хорошо автоматизирует ${процесснейм} ваше решение?». Причем, говорить об этом до начала внедрения — это все равно, что спрашивать у женщины «вы можете родить мальчика или девочку? А мальчик будет гениальным?». Особенно если этой женщине 50 лет и ее маркетинговое преимущество — это что оба ее сына стали успешными учеными.
К чему это я... На рынке присутствует плохо закрытая ниша простых универсальных решений. Нет никакого смысла скрещивать ежа с ужом и пытаться втюхать гибрида — компьютерные системы для турагенства, сети мясных магазинов, и аптек должны отличаться, и это нормально. Однако, весьма тяжело найти тот самый общий знаменатель, который подошел бы всем и при этом не ограничивал бы никого.
Пока что, из моего опыта разработки CRM/недо-ERP, мне видится, что одно из ключевых препятствий на пути заполнения данной ниши — это реляционные СУБД, которые используется к месту и не к месту — просто потому, что РСУБД есть готовые в большом количестве. Как правило, даже у достаточно конкретного клиента есть ни разу не конкретные требования по автоматизации, которые меняются день ото дня, вроде «мы узнали длину члена Василия Петровича — давайте сохраним эту информацию в CRM записи про Василия Петровича, в надежде, что со временем удастся собрать аналогичные сведения по другим клиентам и вывести кореляции». Происходит это не только из-за сиюминутных прихотей конкретного менеджера, но и из-за постепенной смены коньюктуры и технологий в фирме.
Реляционная же модель приводит к тому, что когда внезапно появляется необходимость сделать связь сущностей N-к-M вместо какой-нибудь 1-к-N, то приходится перекраивать базу верх ногами, создавая новую таблицу связей между сущностями и изменяя алгоритмы создания-чтения-обновления-удаления. А в случае перехода от 1-к-1 в N-к-M нужно создавать уже две дополнительные таблицы. У того же SAP по этому поводу из коробки для целой кучи атрибутов есть поддержка множественных связей, откуда и появилось астрономическое количество табличек — в реальности таблиц корневых сущностей там всего несколько сотен.
Апгрейды, поддержка, доработка — это, между прочим, основной доход вышеупомянутой SAP. Моя воображаемая цель проста: уничтожить SAP с ораклом. По крайней мере, такова она по состоянию на момент создания треда.
Есть много опенсорсных попыток писания ERP софта (например, Odoo, OpenERP, IDempiere/Compiere/Adempiere/Openbravo/metasfresh), но каждая из них, как правило, представляет собой одну и ту же попытку повторить SAP в мелком масштабе. У меня есть некоторые абстрактные зарисовки по этой теме, но, как показывает практика, публиковать их не имеет смысла, а пытаться сделать что-то конкретное прямо сейчас у меня тупо нет времени/желания, поскольку я работаю над релизом предыдущего незаконченного проекта питоньей многозадачности. Так что принимайте эстафету.
Перечисленные ниже программы поддерживают работу с различными движками, установленными в системе.
Шахматные движки
Для обучения и игры онлайн хочется выделить несколько ресурсов:
lichess.org - хорошие интерактивные руководства по дебютам в так называемых "студиях". Особенно хочется выделить уроки от LeninPerez, где помимо общей теории есть практика для закрепления.
chess.com - уроки есть, но часть их них доступна только после регистрации; по дебютам совсем краткое описание; паззлы по сравнению с предыдущим сайтом кажутся более скучными.
chess24.com - интересный и сложный, по сравнению с вышеуказанными сайтами, режим "тактический тренер", который беспощаден к ученику и в случае ошибочного хода в задаче из нескольких ходов сразу переходит к следующей.
chess-boom.online - полностью русскоязычный; понравился раздел с описанием дебютов, в котором подробно описана теоретическая часть.
lishogi.org - ресурс похожий на lichess, посвящённый игре в «сёги».
www.chessdb.cn - база данных для «сянци» с возможностью анализа текущей позиции.
www.pychess.org - онлайн ресурс для игры в различные варианты шахмат; есть возможность задания расстановки фигур на доске и анализа текущей позиции с помощью игрового движка.
P.S.
Хотел сначала создать тему, посвящённую нескольким настольным играм (маджонг + риичи маджонг, го, бридж), но получилось, что для Маджонга список повторял бы старую тему, посвящённую ему, с небольшим обновлением для Риичи:
OpenRiichi - наверное единственое на текущий момент достаточно доработанное десктопное приложение для игры в риичи (японский маджонг) для Linux.
RMahjong - недавно был сделан быстрый порт быстрый порт на python3 (ветка py3); ряд правил так и не реализован, но играть вполне можно.
http://tenhou.net/3 - пожалуй, самый известный онлайн-сервер для игры в риичи, на японском :(, но есть сторонний плагин для браузеров (firefox, google chrome) для перевода интерфейса на английский.
Для Го приложений с графическим интерфейсом под linux не так уж много нашлось (Kigo, как пример), а для Бриджа совсем ничего сходу найти не получилось.
Вот пишут про whatsup, что он поддерживает end-to-end encryption, и как это круто. Кто-нибудь может мне объяснить, нафига нужен такой «end-to-end encryption» если между пользователями нет никакого заранее обговоренного секрета, и весь трафик идет через дядю? Это, получается, полная профанация, а не секретность?
Ребят, я видимо старый стал. Никогда не сталкивался, но не могу решить казалось бы простейшую задачу...
Добавил задачку в cron, но никак не могу заставить перенаправлять выхлоп из cron на свой ящик.
Что делаю не так?!
/etc/hosts - правил
/etc/aliases - правил
.forward - создал
newaliases - делал
echo "Test to root." | mail -s "Test message to root" rootЛог говорит:
to=<root@rdiff.company.ru>, relay=none, delay=0, delays=0/0/0/0, dsn=5.4.6, status=bounced (mail for rdiff.company.ru loops back to myself
echo "Test to root." | mail -s "Test message to root" me@company.ruРаботает...
Какой-то запор именно в root и его алиасе похоже? Как слать всё то, что идет root на внешнюю почту используя postfix + ubuntu 20.04
Четыре года назад отремонтировал полуподвальную комнату (покрасил, постелил дерево на пол). Последние два года в ней и обитаю на удалёнке.
Слева направо:
Срач перманентный, место для очередного проекта очищается методом generational garbage collector: всё сдвигается вправо, нужные вещи выкапываются и переиспользуются, а ненужные падают в коробку. Всё так и есть, только пустые бутылки выбросил, да грязные носки в корзину с бельём сдал =)
Вся мебель - из Икеи.
За окном - ёлки и компрессор кондиционера.
Купил под восстановление матричный usb принтер EPSON LX-300+. (кстати а есть ли под него нормальный драйвер в линукс? Я нашёл только стандартный Epson 9-Pin Series)
Фото жужжалки https://i.postimg.cc/13hTySMh/IMG-6074.jpg
Цели - печать этикеток для кассет с играми ZX-Spectrum, просто всяких этикеток на кассеты с музыкой, и вообще заметок чудесным матричным шрифтом из точек. В общем для фана и не только.
В linux в консоли тоже нашёл применение, хочу отправлять на него однострочные заметки из терминала.
Казалось бы, всё просто:
a="Message to print"; echo $a | lprи на чем его можно было бы попытаться сделать (в штучном собери сам исполнении)? малинка? одроид? 4г модули с поддержкой голоса в розницу появились?
Есть серьезные гоночные симуляторы — iRacing, например, — и есть аркады вроде SuperTuxKart: весело и вкусно. Я наигрался в SuperTuxKart и захотел чего-то нового: не самому рулить, а писать программу, чтобы она управляла машинкой.
И вот оказывается, что симуляторов для беспилотных машин довольно много: есть TORCS, есть CARLA, есть более универсальные вещи вроде CoppeliaSim.
Но это все требует довольно серьезных усилий для входа. Вот как для «настоящих» гоночных симуляторов надо по-хорошему руль с педалями завести. Это тоже круто, конечно. Но мне хочется такой вот программистский SuperTuxKart, чтобы можно было за вечер разобраться, писать на каком-нибудь условном Питоне несложные (пусть и не очень реалистичные) алгоритмы и соревноваться для начала с ботами, а потом и с людьми.
Есть что-нибудь такое с аркадно-низким порогом вхождения?
Ну или хотя бы какие-нибудь живые соревнования на взрослой симуляторной платформе (в духе Formula Pi для железных роботов)? Вроде бы вокруг TORCS раньше была движуха, но как-то все закончилось.
вот как было у меня в детстве: дома есть пара шкафов, забитые всякими жуль вернами, дюмами, стругацкими и прочими азимовыми. и подходишь такой, взял книжицу, асилил. взял другую. эдакая витрина, заранее отфильтрованная от донцовых (ну так или иначе, да)
и бумажные книги вдруг ненужны.
ааа… как ваще современное дите должно узнать что есть книги, писатели, жанры, вот это все? какие есть писатели? у меня что ли ходить спрашивать каждый раз? но и даже этот интерес «спросить», откуда ему взяться-то?
Типичная ситуация: устанавливаю в консольном Debian всего один пакет mplayer -
apt --no-install-recommends install mplayer ( читать дальше... )
Тут все понятно, вопросов нет.
Следующее действие - а как теперь тоже одим махом снести все эти пакеты?
Понятно, что если удалить оснвной пакет mplayer, то удалится лишь он один, а сопутствующие пакеты останутся.
Конечно, можно скопировать список этих пакетов и подставить их в командную строку или скрипт -
apt remove mplayer libgme0 libssh-gcrypt libpython2.7 libmpg123-0 ... libavformat58Вопрос больше риторический хотелось бы выслушать мнения и опыт присутствующих.
В данный момент у меня почти на всех сервачках резервное копирование, сделано так: Копируются файлы и бд, сжимаются и раскидываются на несколько удалённых хранилок. Всё через самописные скрипты+cron. Сжимается всё в один большой tar.bz2. Bzip2 выбрал так как он лучше сжимает.
Это всё хорошо и работает, но есть один маленький минус. Если нужно срочно достать какой-нибудь небольшой файлик из этого огромного бекапа, то придётся ждать часами.
Да я знаю что bzip2 умеет распаковывать файлы выборочно, но по времени это займёт столько же как распаковать целиком весь архив.
Собственно может сменить архиватор? Но на что?
Посмотрел lz4 / lzf но там в опциях не нашёл как сделать исключение по маске при архивации.Что вообще используют крутые дядьки на своих серверах для этих целей?
Убирался давече и надыбал за диваном 10 штук к555ла6 в коробочке, упали и забылось =) вот думаю что зафигачить на них полезного, рядом лежит HDD дохлый, может попробовать на логике сделать драйвер. Но чёт мне лень рисовать, хочется поиграть с логикой. Есть ли под linux простой без прибамбасов симулятор? Хотя там надо по сути цепи задержки делать и нужна поддержка конденсаторов и резисторов. Хотя можно и без задержки сам посчитаю.
P.S. А есть ли виртуальный осцилограф который можно к такому симулятору подрубить и посмотреть на синхроимпульсы которые я буду генерировать логикой?
P.P.S. Сорян если тупость, я никогда этим раньше не интересовался, касаемо такого софта.
Желательно где нить в Голландии.
Есть P-регулятор для моторчика, и датчик скорости. Надо примерно на средних оборотах автоматически подбирать максимально возможное значение P «пока не задергается».
Ну то то половинным делением подбираем - понятно. Однако вопрос, как проверить наличие колебаний, желательно без магических констант, и максимально быстро.
Существуют ли какие-то проверенные алгоритмы? (налисапедить-то можно, но хотелось бы разобраться, и не гулять по граблям).
Я тут видеокурсов купил по одной теме (не программирование, не связано с IT и электроникой вообще), там ~120 гигабайт видео скачал в формате mp4:
file *.mp4: ISO Media, MP4 v2 [ISO 14496-14]
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (mp42/mp41/isom/avc1)
File size : 1.56 GiB
Duration : 46 min 52 s
Overall bit rate mode : Variable
Overall bit rate : 4 760 kb/s
Encoded date : UTC 2016-03-22 15:00:01
Tagged date : UTC 2016-03-22 15:00:01
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 46 min 52 s
Bit rate : 4 500 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 (30000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.072
Stream size : 1.47 GiB (95%)
Writing library : x264 core 148 r11 a01e339
Encoding settings : cabac=1 / ref=4 / deblock=1:0:0 / analyse=0x3:0x113 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=34 / lookahead_threads=5 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / stitchable=1 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=infinite / keyint_min=29 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=2pass / mbtree=1 / bitrate=4500 / ratetol=1.0 / qcomp=0.60 / qpmin=5 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=4950 / vbv_bufsize=13500 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Encoded date : UTC 2016-03-22 15:00:01
Tagged date : UTC 2016-03-22 15:00:01
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 46 min 52 s
Bit rate mode : Variable
Bit rate : 256 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 spf)
Compression mode : Lossy
Stream size : 85.8 MiB (5%)
Encoded date : UTC 2016-03-22 15:00:01
Tagged date : UTC 2016-03-22 15:00:01
Я предполагаю, что файлы сделаны большого размера умышленно, так сказать чтобы придать весу.
Какой ffmpeg командой посоветуете сжать видео без потери качества и не уменьшая оригинальное разрешение?
Спасибо.
Обращаюсь на ЛОР, поскольку врачи сейчас принимают только по неотложным случаям.
Вчера решил откликнуться на очередную вакансию DevOps’а на удаленке, поскольку текущая работа устраивает не на 100%. Как оказалось, надо среди прочего пройти задание по кодингу на Python. Т.е. дают задачу, дают час на ее решение, и у них есть автотесты, которые это решение проверяют.
Если кто хочет сам порешать, вот что мне попалось: «функция принимает в качестве аргументов два набора по 5 карт, в формате типа [‘2S’, ‘4C’, ‘AH’, ‘5D’, ‘AC’], должна решить, какой из этих наборов сильнее по правилам покера, и должна вернуть 0 (ничья), 1 (первый набор сильнее) или 2 (второй набор сильнее)». Т.е. никаких хитрых алгоритмов, ничего принципиально сложного, именно много кодинга (проверок на наличие предусмотренных правилами покера комбинаций) и поджимает время.
С задачей я вроде справился (результат пока не сказали). Успел и код написать, и потестировать вручную перед отправкой. На все ушло 53 минуты из разрешенного часа - т.е. почти впритык. НО: после того, как я отправил решение, заметил, что сердце стучит слишком часто (не измерял, но точно больше 100 ударов в минуту). Восстановилось само.
Раньше от чисто умственной работы у меня такого никогда не было. Но и тупых объемных заданий с таким жестким дедлайном тоже давно не было (из ближайшего - контрольная по методам математической физики, но это было ~20 лет назад). Собственно, вопрос здешним врачам - это нормально, когда организм так реагирует?
| ← назад | следующие → |