Чем пользуетесь из F-Droid?
Собственно сабж. Третий андрофон. В первый раз ставил из него судоку. Во второй: блокнот. В этот раз: «Транзистор» для прослушивания радио.
А кто чем ещё пользуется?
Собственно сабж. Третий андрофон. В первый раз ставил из него судоку. Во второй: блокнот. В этот раз: «Транзистор» для прослушивания радио.
А кто чем ещё пользуется?
Лекция в офисе компании FoxmindEd прошла 25.02.2018.
Слайды: https://drive.google.com/file/d/0B38igFDHEy45Z251OGE0Zi1mblE/view
Лекция: https://www.youtube.com/watch?v=HMT6jgZ5Pls
Сергей Немчинский, имея за спиной 20 летний опыт программирования на Java, сравнивает две параллельно развивающиеся технологии.
Предлагаю обсудить мнения от лекции и свои собственные впечатления от использованных технологиях (у кого они есть).
Здравия всем!
Я редко пишу на этом форуме, никого здесь не знаю… Но всё-таки решил попробовать. Удалят - и ладно.
Хочу лишь обратиться к молодому поколению программистов: в университете вам будут впаривать ООП - не ведитесь. Я много лет жизни потерял пытаясь понять что это за зверь. Это настоящая религия. Тебя убеждают что это хорошо, а когда ты понимаешь что это плохо - тебе говорят: ну ты просто ещё не знаешь паттернов, 5 принципов дяди Боба и т.д.
Много лет спустя, я поизучал эти паттерны, принципы и пришёл к выводу. Всё это демагогия. Это реально секта. Создана парадигма, которая не работает из-за противоречия в самой своей сути. И чтобы оправдать её существование была создана куча теорий, которые добавляют сложность в систему.
Есть много статей, разбирающих по косточкам различные аспекты ООП. Это тяжелое чтиво и мало кто из студентов сможет понять о чём речь. Тут сессии, курсовые, языки, вечеринки. Не до философии. Но всё сводится именно к философии:
информация ничего не значит без контекста.
В классическом примере ООП используется для пользовательского интерфейса. ООП объект хочет быть самостоятельным, «знать» как себя отобразить. Но это зависит от размера экрана, а если вывод в документ PDF, то предпочтительнее вектор, а не растр и так далее. Рано или поздно работа с ООП постоянно натыкается на конфликт: как передать контекст объекту.
Об этом много сказано, есть много примеров и разборов. Я уверен что студентам некогда читать длинные статьи где много буков. Они легко гуглятся и вот одна из наиболее кратких со ссылками на более подробные https://habr.com/ru/post/451982/
В идеале, хочу создать новую статью, ещё короче но с конкретными примерами. Просто реально трудно общаться с ООП-зомбированными людьми. Их так учили 5 лет и они даже не допускают мысли что их разводили все эти годы…
Перемещено xaizek из development
Мне нужно отредактировать несколько видео файлов (mkv), изменить там встроенные дорожки, добавить свои и все это упорядочить (подрезать и поправить положение на таймлайне в основном). Никаких перекодирований. Нужно сохранить все исходные кодеки (видео в hevc, аудио дорожки в mpeg). В ffmpeg делать очень неудобно. Нужен какой-то gui. И тут я в некотором шоке от того, насколько плохо такая элементарная задача решается в линуксовых редакторах. Даже не так. Насколько плохо работают линуксовые медиа редакторы.
Kdenlinve - падает с какой-то qt ошибкой при добавлении на таймлайн аудио. Проверено на ubuntu 20.04.2, slackware-current, archlinux. Ошибка была загуглена - информации мало, решений нет.
Shotcut - намертво зависает при при попытке экспортировать (отрендерить) проект. Один раз увез с собой иксы. Нельзя экспортировать проект без перекодирования.
Openshot - все просто и удобно, но нельзя экспортировать проект без перекодирования.
Pitivi - нельзя экспортировать проект без перекодирования.
Avidemux - не нашел, как работать с аудио дорожкой, чтобы ее подгонять под видео. Похоже, что такой функции нет.
Что использовать-то? Где тот редактор с простым интуитивно понятным интерфейсом и возможностью простого редактирования без перекодирования?
Провел несколько интервью. Задают аховые вопросы. Очень многие лезут туда, куда им не положено лезть
Какой вы видите идеальную фирму, в которой работаете? Я вообще-то идеальной вижу ту фирму, в которой генеральный директор - это я. Эта фирма зарабатывает много денег. Это по секрету. Как обрабатывать этот вопрос, чтобы не напугать работодателя?
Что вы планируете в своей жизни в будущем? Вообще это мое личное дело что я планирую. Я устраиваюсь к вам на работу, готов за деньги выполнять задачи. Всё, что касается моей жизни - это моё личное дело. Как обрабатывать этот вопрос, чтобы не напугать работодателя? Прям задолбали личные вопросы задавать
У меня детальное резюме со всеми проектами, прям что за проект детально и детально какой стек. Интервью начинается со слов «расскажите чем вы занимались». И начинается пересказ резюме минут на 20-30. Откройте резюме, почитайте. Там всё детализировано. После 5 интервью появилось желание на диктофон записать весь этот рассказ и включать им записанное. Что в этом случае делать, когда всё есть в резюме, а «расскажите, мы хотим вас послушать»
Расскажите об изюминках, которые были у вас в работе. Вообще-то на определенном этапе всё это превращается в рутину. Чтобы прям изюминок не было. Есть задачи, они планомерно решаются. Далее один из тех, кто проводит интервью «вы это всё без энтузиазма говорите». А какой тут может быть энтузиазм? Есть работа - я ее выполняю. Вам что нужно еще ее с энтузиазмом выполнять? Нуууу, человек, который делает с энтузиазмом сделает ее творчески. Я: творчески не значит эффективно. С другой стороны «бла-бла-бла» нуууу да, но это другой вопрос. Как эту хреновину обрабатывать грамотно?
Расскажите пять последних задач, которые вы решали. Ну вообще я решаю много чего, вспомнить прям сейчас не могу. Ну ок, вот задача, которую я решал <рассказываю что я решал>. Технический специалист «пфффф, так этож легкотня». А ты такой знаешь, что готового решения этого всего нет. Скорей всего надо завершать интервью, но может это правильно обрабатывать надо?
Заметил, что на позицию мидла задают совсем не мидловские вопросы. Как с этим быть? Такое ощущение, что устраиваешься в NASA, а по вопросу «какая у вас вилка» и сразу ответ «а какие ваши ожидания?» и потом долгая дискуссия на тему о том, что вы должны назвать вилку, мало ли какие у меня ожидания, говорят $1500-2300. Т.е вопросы космические, а зарплата такая себе
Краткое содержание предыдущих серий: 12 лет на Emacs.
Нынешняя ситуация: использовал Emacs для работы со Scala (через lsp-сервер Metals). Проблема известная - подвисание UI. Большую часть lsp-ui я уже отключил, стало возможно как-то работать, но все же буквы появляются из-под клавиш весьма не спеша… Частично решается только апгрейдом железа.
Есть попытки как-то решить проблему - прикрутить Webrender использующий GPU, но пока в очень экспериментальном виде:
А посему решил наконец вылезти из бочки и попробовать VSCode. Пока я на нем всего пару дней, надеюсь, дальше дело пойдет лучше.
Сразу ремарка по поводу Neovim: насколько я понял, реактивный UI они сделали, но я не люблю режимы. Идея повесить все хоткеи на один режим и расширять редактор в Lua была, но насколько это будет натурально: использование Vim-а без режимов?
Light Table, насколько я понял, более-менее заброшен. Впрочем, с их подходом Data-driven configuration, они могли использовать для конфигурации условный FortranJS вместо ClojureScript (надеюсь, понятно почему :)).
Собственно к VSCode. В продолжении тем:
Вот, например, по первой ссылке автор испытывает только положительные чувства от смены Emacs на VSCode. У меня это такого дикого и безоговорочного энтузиазма не вызывает.
Да, конечно, проблемы рендеринга UI там нет как класса. V8 js engine сам по себе демонстрирует шикарную производительность, уже только он шустрее движка Elisp, UI в своем потоке, а главное он наконец-то рендерится GPU, а не CPU. Ок, замечательно, я переместился в будущее: из середины 70-х в наши дни.
Но проблема в том, что в нем нет… Emacs, нет REPL (и я сейчас не про этакую интерактивную командную строку говорю, а про то, что в Emacs все есть REPL - встаешь курсором (точкой) на любом куске кода, выполняешь его, получаешь результат и мгновенно меняешь поведение редактора). И нет s-выражений.
Взять конфигурацию. Вот я редактирую свою тему. Что-то поменял. В Emacs я просто исполняю файл с темой и все - все изменения мгновенно отображаются. Тут у нас что: https://stackoverflow.com/questions/44390765/vscode-how-to-reload-theme-after-editing-its-style Нужно перезагружать редактор? Да ладно? Вообще-то после Reload Window lsp-server тоже перезапускается, ага заново частично компилирует, индексирует.
Далее, хочу M-x function-name. Ну казалось бы, в VSCode такое точно есть. А вот и нет. Хочешь вызвать функцию - назначь ей или алиас или кейбиндинг: https://stackoverflow.com/questions/58382100/triggering-commands-by-their-command-id-or-a-custom-string-alias
Теперь что до файла конфига. Да, изменения в конфиге подхватываются на лету, но для случая симлинков (вот хочется мне конфигурацию в одном месте держать) это работает только если открыт симлинк, а не файл, а не на который он ссылается, а значит гитовый плагин не видит диффа. Ну ладно, допустим. А если у тебя открыто несколько… фреймов, хорошо, окон редактора, например для случая 2-х мониторов, то нужно в каждом открывать конфиг, типа «изменять» его и сохранять, чтобы изменения подхватились. Ну ладно, хоть что-то. Аналогично с темой.
Конфиг статический, код туда не запихнешь. Гм. В Emacs некоторые плагины так и появлялись, что с какими-то функциями сначала играются в .emacs, далее они унифицируются, появляются пакеты, а потом эти пакеты вообще принимают в апстрим Emacs. На самом деле, я считаю это одним из самых главных достоинств Emacs. Тут этого нет. Надо полагать, что-то подобное можно воспроизвести через кастомный плагин.
К слову, пример плагина на ClojureScript внушает некоторый оптимизм на тему дальнейших возможностей расширений и кастомизаций «как в Emacs»: https://github.com/Saikyun/cljs-vscode-extension-hello-world Правда, насколько я понимаю, ClojureScript по-прежнему не может обойтись без Java, т.к. компиляция макросов происходит в JVM. Проект Lumo выглядит заброшенным. Альтернативы есть?
Вообще, я не сильно люблю статическое созерцание кода. Гораздо удобнее, когда код можно изменять на лету, вылепливая из него что-то как из пластилина и тут же получая результат. И речь не только о собственно конфигурации Emacs. На самом деле, в Emacs, я мог, например, в текстовом выхлопе какого-то генератора вертикально выделить столбик, скопировать его, поставить вверху и внизу скобочку, нажать C-x C-e и получить сумму:
(+ 23,32
-7,04
135,7
-15,22
8) => 144,76
Все. Никуда не выходя из Emacs. В VSCode что? Есть некий плагин eval. Судя по времени выполнения, он запускает nodejs всякий раз. Словом, к возможности тут же вычислить любой объект как код на Elisp привыкаешь очень сильно.
Смотрим на расширения. О культуре разработки, сложившейся в Emacs комьюнити я ужи писал на лоре, но на этот вопрос по прежнему не обращают внимания. Пакет Emacs для того попасть с MELPA проходит код ревью. В итоге, мы имеем докстринги к большинству функций, подробные readme. Да и даже без код ревью люди просто привыкли так писать, это уже стало хорошей традицией. Что в VSCode? Даже у некоторых более-менее популярных пакетов нет ни одного комментария, ни одной докстроки к функции в исходном коде. В менее популярныйх пакетах - спасибо, если есть readame, а от бывает и его нет.
P.S. Пока складывается впечатление, что я снял свой старенький экзоскелет и взял вместо него каменный топор. Да, экзоскелет был старенький, ржавый, и краска облезла, и скрипел весь, и гидравлика протекала, и проводка искрила и коротила, местами была обильно замотана изолентой, некоторые болты были жевачкой прилеплены, чтобы не отвалились и потерялись, некоторые вообще приварены. Там что-то приходилось периодически чинить, подкручивать, приклеивать ;). Но в нем можно было и дом перепрыгнуть и машину поднять и нашествие пришельцев, при необходимости, остановить. А каменный топор, да из обсидиана, да со стразиками, да с удобной сенсорной панелью на рукоятке, да с авианосцем в комплекте, но все же не то. Вот теперь сижу и думаю как его доработать напильником до звездолета.
P.P.S. Да, я понимаю, что весь мир не обязан быть Emacs-ом, но ведь люди уже переходили из Emacs и не вчера, наверняка эти проблемы уже как-то решились. Какие-то сушествуют решения, рекоммендации, комьюнити?
P.P.P.S Вот так и представляю себе группу психологической поддержки, тех кто ушел из Emacs. Захожу в комнату, там в форме круга расставлены стулья, на них сидят такие же бывшие емаксеры. Я говорю: «Привет, меня зовут Костя и я перестал пользоваться Emacs.» и все такие: «Привет, Костя». :))))))))
Делитесь:)
Vim? Emacs? Свои?
Если Vim, то почему? Используете в GTK приложениях? В терминале?
Eсли Emacs, то почему? Используете в GTK приложениях? В терминале?
Если свои, то прописываете их везде?
И, как заключение, под какой раскладкой используете?
Dvorak, Qwerty, Colemak, Workman?
Есть ли тесты и наблюдения? Выкладки, графики, нарисованные зоны максимального использования клавиш? За ссылки на такие ресурсы «Спасибо»!
P.S. Был бы интересен опыт переноса ‘ESC’ в Vim, Переноса ‘CTRL’ в Emacs, например, под большой палец и работы в IDE или code с плагинами keymaps.
Вопрос снят, буду ссылаться на гуру:
Интерфейс является монотонным, если он имеет только один способ выполнения той или иной задачи. Если вариантов выполнения несколько - пользователь вынужден отвлекаться от своей текущей задачи и решать проблему выбора.
Приведу цитату из книги, в которой Джеф Раскин подчеркивает важность немодальности и монотонности интерфейса для коммерческого успеха продукта: «Если я прав, то использование продукта, интерфейс которого основан на немодальности и монотонности, могло бы быстро вызывать привыкание (близкое к зависимости) у пользователей, приводя к тому, что все они могут приобрести преданность этому продукту и предпочитать его всем другим».
Тема закрыта.
Для нового приложения выбираем стек и появился вопрос, как масштабировать приложения на go и scala. На ноде есть pm2 и можно указывать кол-во инстансов, есть ли что-то похожее на go или scala?
Скорее всего заказчик будет пускать приложение в кубах, но во-первых - не факт, а во-вторых хотелось бы знать, как выжимать максимум с одного сервера или виртуалки.
Началось с того, что обновление mkinitcpio прилетело. С новым mkinitcpio.conf.pacnew. Посмотрел, что там нового. Метод сжатия добавили. Хорошо, понятно. Переписал эту строчку в свой mkinitcpio.conf.
Ладно, думаю, это же неудобно. Было бы здорово, если бы мои HOOKS и FILES подхватывались из какого-нибудь внешнего *.conf, а основной не шевелить. Посмотрел в исходник - там вроде нет такой возможности. Вся конфигурация берётся из одного mkinitcpio.conf.
Плохо, думаю, но шут с ним, просто надо помнить про *.pacnew и тщательней за ним следить.
Дай, думаю, поищу вообще сколько таких pacnew уже накопилось и что там наизменялось. Так там их 26(!!!) штук за два года накопилось! Просто не все успеваю заметить, когда прилетают на обновлениях.
Сижу, разгребаю по очереди руками каждый - смотрю, что там нового было.
И внезапно натыкаюсь на вот такое:
cat /etc/systemd/journal-remote.conf
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = nobody
server = /usr/sbin/tftpd
server_args = /var/tftpboot
disable = yes
}
Судя по тому, что оба файла одинакового размера 695 байт - похоже на то, что когда-то было аварийное отключение и fsck на ext4 вот так вот его «починило» - подставив какие-то случайные блоки. Где когда и как - видимо уже не узнать.
И ладно, этот файлик мне не нужен. Но раз есть такой прецедент - значит могут где-то в корне быть и другие файлики с мусором! И кто их знает какой они нужности.
--------------
В общем - как страшно жить.
Дорогие арчеводы, а как вы следите за pacnew? И как проверяете целостность содержимого корня?
Работаю больше 4 месяцев джуном на джаве (spring-boot, hibernate), познаю кровавый интерпрайз. Пока легаси поддерживать не кидали, пилю новый функционал на проектах.
В связи с чем у меня возникло сразу несколько глобальных вопросов по джава-индустрии, надеюсь матёрые форумчане помогут разобраться.
Постоянно в дтошках вижу одну и туже картину. Куча private полей, и к каждому из них геттер и сеттер. Больше ничего в классе нету. Я не понимаю, нафига строить тут типа «инкапсуляцию», если класс ничего семантически не инкапсулирует? Почему бы не сделать просто public филды?
Крутая штука, но некоторые её до жути боятся и продолжают генерировать шаблонный код. Из трёх проектов, в которых я писал код, в двух ломбока не было и всё надо было делать руками (да, нажать биндинг для генерации в idea - тоже, считай, руками). Кроме того ломбок предоставляет @RequiredArgsConstructor, который в спринг-бинах просто мастхэв
Во всех трёх проектах (и это не легаси говно, с нуля все написаны в 2020) используется java 8. Почему не 9, где для optional подвезли нормальные методы? Почему вообще у чуваков такая тяга к старым технологиям? В новой джаве вот уже рекорды добавили, чтобы без ломбока и прочего жить нормально, так не, мы продолжим сидеть на 8, в худше случае и без ломбока.
И это не только с версией джавы, на проектах (новых!) используется версия querydsl 3.x, поддержка которой давно закончилась. Понятно, что в 4.x поломали совместимость, но неужели разобраться с этим это прям такое запарное дело?
По сути в архитектуре веб-приложухи на джаве нету никакого ООП. Все Service-компоненты с бизнес-логикой это по сути просто набор процедур. Все объекты service-классов существуют в единственном виде как синглтон. По крайней мере, я так это понял. Dtoшки это вообще не класс, это просто классический record в виде си. Всё в итоге сводится к процедурному программированию, когда дтошки (читай - записи) суются в методы сервисов (читай - в процедуры), откуда вызываются другие методы (по сути те же процедуры).
Код и данные максимально разделены. Это как-то не сходится с моими представлениями о ооп и тому, чего я ожидал от «ооп-языка»
В лабах я привык использовать idшники в качестве PK, однако в реальном интерпрайзе везде uuidшники. Я погуглил, понял, что всё как-то связано с масштабированием и немного с безопастностью (если неавторизованные юзеры работают с сущностями), но в одном проекте у нас были и idшники, и uuidшники! Зочем?
Чейнджсеты ведутся в liquibase, причём все они хранятся в одном каталоги и инклюдятся в мастер-чейнджсет через includeAll. Нумеруются по принципу дата-айдишник-описание.xml. НО. Это же костыль! Если у меня в один день будет changeset в id=9 и с id=10, то 10ка попросту выполнится перед девяткой! Если уж использовать только числовые айди, то почему бы liquibase Не выполнять их по очереди?
Также не пишутся никакие sql-триггеры, вся логика прописывается в коде. Хотя в некоторых местах триггеры выглядели бы прям как образцовый пример из методички, на мой взгляд.
В каком аниме, и что конкретно есть не примитивного, расскажите, почему это не примитивно, и даже лучше покажите, какой не примитивной вещью вы были поражены до глубины души в произведении.
Автор библиотеки notcurses выпустил новую версию 2.0 «stankonia». В этом релизе зафиксирован стабильный API библиотеки.
Notcurses это библиотека TUI для современных терминальных эмуляторов. Буквально переводя – не проклятия (not curses). Она написана на С, с использованием C++-safe headers. Доступны обёртки для Rust, C++ и Python.
( читать дальше... )
>>> Подробности
...с условиями:
При чем тут Linux — сами знаете.
Где люди в дикарских условиях, имея знания, но не имея инструментов, обустраивают быт, строят всякие вундервафли и тому подобное. Типа «Таинственный остров» Ж. Верна, «Летающие колдуны» Л. Нивена, «Тоннель в небе» Р. Хайнлайна. Робинзонады лучше поменьше, а вундервафлей побольше (то есть стадия «строим шалаш из говна и палок» короткая или (лучше) отсутствующая, а стадия «а теперь на коленке делаем Звезду Смерти» поподробнее).
P.S. Понимаю, что за много лет в подобном жанре написали кучу макулатуры, поэтому постарайтесь. чтобы советуемое хоть издали походило на литературу.
Сабж. Чтобы прям дух захватывало, хотелось смотреть ещё и ещё.
3 года назад я должен был закончить один известный всем московский вуз по своей специальности (говнокодер), но так получилось, что диплом у меня не пошёл и я просто забил болт на защиту и выпуск на 5м курсе. Забрал аттестат из канцелярии и ушёл. В РФ мне это не мешает, работодателям пофиг - его спрашивают только в HR на правах анкетирования.
Но вопрос по трактору. Для большинства стран, насколько я понимаю, для легального получения разрешение на работу требуется формальная корочка. В ЕС это общее условие для получения Blue Card, хотя страны могут на своё усмотрение сделать исключение кандидатам с 5 лет опыта по специальности (у меня есть в трудовой). Но, например, как я проверил - Чехия такое исключение не делает. И однозначный ответ на этот вопрос достаточно трудно найти на гос. сайтах стран.
Есть ли кого такой опыт (легального) переезда неучем в IT? Понятно, что США и западная европа в пролёте, но как к этому относится восточная европа (Польша, Венгрия, Эстония, Латвия, Словения)? Есть ли смысл отвечать на предложения рекрутеров с релокейтом?
P.S. О себе: белый гетеросексуальный мужчина, женат, 1 кот.
Тут некоторые жалуются, что для Rust совершенно никакой ide нет, мол писать в блокнотах тяжко. Поэтому решил расписать step-by-step настройку Emacs под Rust - автодополнение, подсветка там всякая, все как положено, может кому пригодиться: http://reangdblog.blogspot.com/2015/04/emacs-ide-rust.html
Перемещено JB из general
Смотрю тут на праздниках в очередной раз ВК, и все мучаюсь вопросами. Какова вобще мотивация саурона к захвату средиземья? Зачем оно ему, что он с ним хочет делать, он же полубог, для меня это выглядит так, как если бы директор зоопарка разделся, залез в клетку с мартышками и начал бы захватывать власть в стае кидаясь гавном и кусаясь.
Второй вопрос о кольце, в чем его изначальный смысл? В чем его власть? Я много слышал, что оно повелевает другими кольцами, но в чем власть других колец. Люди носившие кольца стали назгулами, гномам они помогали находить золото, эльфы вобще втихаря свои выковали и к сауроновскому они привязаны не были. Так собственно зачем такими кольцами управлять извне? В войне, когда саурону отрубили палец, ни его супер кольцо, ни «кольца-слуги» ему особо не помогли. Далее, по сюжету боромир да и куча народу все время говорит «не уничтожайте кольцо, давайте с его помощью выиграем войну», как они хотели ее выиграть? Если власть кольца - управлять другими кольцами, т.е. людьми гномами и эльфами, то толку им от такой власти? они и сами могут объедениться. Люди разве не помнят что саурон в свое время проиграл войну с кольцом, оно ему не помогло.
Есть тут кто-нибудь, кто умеет крутить ручки JVM'у?
дано: кассандра, которая после разрастания кейспейса > 200Гб начинает люто тормозить.
нужно: сделать счастье.
небольшой разбор полетов привел к GC. хочется понять, как лучше накрутить JVM, чтобы не залипало на 10 секунд по нужде GC.
тут небольшой лог с метриками и параметрами
http://gceasy.io/my-gc-report.jsp?p=c2hhcmVkLzIwMTcvMTIvNS8tLWdjLmxvZy4wLmN1c...
| ← назад | следующие → |