Обновить
@immaculateread⁠-⁠only

Пользователь

8
Подписчики
Отправить сообщение

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

Проблема не в том, что ваш фреймворк такой замечательный, но его никто не ценит. Проблема в том, что компании надо делать работу, достигать цели. Командой. А команда не знает ваш фреймворк.


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

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


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


Так же как и в программировании: наперед предусмотреть все возможные баги невозможно.


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

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


Я в Linux вообще не использую и не использовал двухпанельные менеджеры файлов. 99% времени я работаю с файлами в командой строке. Эффективная работа с автодополнением, командами find, xargs, grep, ack-grep, sed, tail, и т.д. для меня наиболее эффективна. В отличие от двухпанельных менеджеров, для изучения этого нужны ненулевые усилия, которые затем сторицей окупаются, потому что позволяют очень быстро и эффективно работать с файлами.


В 1% случаев я использую обычный файловый менеджер, такой как Nautilus или Thunar.

Я новый ноутбук специально покупал со встроенной графикой Intel. Ни Nvidia, ни AMD на самом деле даже близко не лежат по уровню поддержки с Intel (в Linux, во всяком случае). Кроме того, для ноута важна автономность, со встроенной графикой она явно намного лучше.

У меня сканер отпечатков пальцев так и не заработал. Точнее, работает в 1 случае из 40. Так как он выводит картинку со сканера на экран, приблизительно понятно в чем проблема: каждый раз отпечаток получается разный, так как меняется скорость нажатия, сила прижатия, и так далее. Видимо, закрытые решения умеют приводить отпечаток к единообразному виду. А fingerprint-gui — не умеет. Впрочем, не знаю, никакой толковой диагностики он все равно не выдает, но работает так плохо, что снес и продолжаю вводить пароли.

Tearing'а нет по умолчанию в Gnome. Но там столько своих проблем, что я надеюсь побороть tearing в XFCE все же.

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


KDE пользовался предыдущие пару лет, не очень нравится. Были маленькие, но раздражающие глючки, например, часто приложения, разворачиваемые на полный экран, свалилвали kwin. Для 2017-2018 года это, по-моему, недопустимо.


А XFCE быстрый, маленький и шустрый. Потребовалось время привыкнуть, но спустя пару недель уже не задумываешься. Только пока не смог побороть tearing на встроенном видео Intel (при прокрутке и в видео).

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


Языки, которыми мне приходится пользоваться каждый день, обновляются, наверное, чаще, чем раз в месяц. Причем новые конструкции зачастую не совсем очевидные. Стандартные библиотеки этих языков тоже меняются с большой скоростью и обладают огромным объемом. Кроме стандартной библиотеки, приходится пользоваться кучей сторонних библиотек, тут уже вообще надо помнить не только их API, но и баги и особенности многих методов. Все это вместе собирается какими-то package managers, preprocessors, и т.д. и т.п. У каждой этой системы свои нюансы, и они тоже меняются с огромной скоростью, не всегда соблюдая обратную совместимость. В общем и целом, удержать такой объем знаний лично мне в голове не удается. Постоянно приходится пользоваться справочниками и Google.


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


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

В свое время, когда я посидел за Amiga, превосходящей на голову все x86, что я видел до того момента, этот вопрос тоже не давал мне покоя. Но видимо "лучше" значит разные вещи для разных вещей. Для рынка в целом корявый x86 с корявыми DOS и первыми Windows почему-то оказались "лучше". Может быть, Amiga слишком дорого стоила, или еще что-то. Есть еще соображения привычек пользователей и совместимости с существующим софтом и железом. Инерции мышления, наконец.

Это отчасти философский вопрос. Я и сам часто так думаю.


Так устроено общество, капитализм. Люди любят всё новое. Если компания не выпускает постоянно новые продукты, то покупатели уйдут к тому, кто всё время выпускает что-то новое. Часто делается обновление ради обновления.


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


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


А если кто-то становится монополистом, то ситуация не лучше. Монополисту нет смысла улучшать продукт ­— он лучше сократит всех людей, которые над ним работали, и улучшит свои бизнес-метрики. Сразу на ум приходит MS IE 6, который был просто кошмарным браузером, и столько лет отравлял всем разработчикам жизнь, но MS распустила всю команду и не исправляла ни одной ошибки, потому что в этом для них не было никакого резона — и так все пользуются, зачем тратить деньги на улучшение?..

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


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


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

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

Я понимаю, так как мне уже довольно много лет, и я начинал программировать на ассемблере x86. Но проблема в том, что количество знаний, требуемых по работе, растет экспоненциально. Когда я только начинал работать, было 3-4 популярных языка программирования (скажем, C, C++, Perl, Java). Библиотек, тем более фреймворков, почти не было.


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


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

Если в Москве такому инженеру придётся пересекаться с мутными личностями, то в Калифорнии даже если он каким то чудом с таким столкнётся, то к его услугам номер 911 с временем реагирования в несколько минут.

Я за всю свою жизнь в разных странах почти не пересекался с мутными личностями. Что такое мутная личность? Где вы с ними постоянно пересекаетесь в Москве, и зачем?


На самом деле интересно. Может быть мне за 40 лет просто невероятно везло, что я с ними не пересекался. Правда, я не все это время жил в Москве, но жил в местах, которые считаются «хуже».


В штатах еще не был. Был друг, ездил в командировку, его там буквально сразу же у гостиницы ограбили с оружием. Это, конечно, так, анекдата, но все-таки.

Государства почти везде забирает себе жирную долю доходов. Единственные места, где это не так — некоторые страны ЮВА, возомжно, Африка.


Я вот поспрашивал некоторых экспатов-европейцев, живущих в ЮВА, почему они именно здесь открыли бизнес. Ответы обычно такие: «Если бы я открыл в Европе, то государство в виде налогов отобрало бы у меня почти все деньги еще до того, как я начал бы работать».


Но и здесь все начинает потихоньку меняться.

Разве это не основная проблема капитализма? Для существования капитализма нужен непрерывный рост потребления, а где его взять? Никому не нужно два кабеля в квартиру, или покупать 5 рубашек в день, или 4 мобильных телефона.

В статье, насколько я понял, переведенные строки загружаются из .po файла. Обычно готовый po файл компилируется в бинарный .mo файл: https://www.gnu.org/software/gettext/manual/html_node/MO-Files.html


Не знаю, насколько критична разница в скорости доступа.

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


.po файл можно переводить вручную, как тот же csv, можно преобразовать в csv, можно редактировать GUI редактором (существует множество), можно отдать на аутсорс, можно загрузить в онлайн-сервис наподобие OneSky, можно установить свой веб-сервис, такой как Weblate (у Weblate есть еще не менее 5 аналогов).


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


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


Ну а CSV я тоже работал, конечно. Когда строк больше сотни, тут уже на каждой итерации требуется значительное количество ручного труда.

Наверное в играх строк немного. Просто я работал в проектах, где локализация производится через Excel. Это просто средневековье какое-то. Людям приходится вручную заниматься монотонным копированием строк туда-сюда, в котором очень легко ошибиться. Неблагодарная тяжелая работа, которая элементарно автоматизируется, и решения для автоматизации придуманы очень давно (GNU gettext появился в 1995 году).

2018 год на дворе, а люди по-прежнему занимаются копи-пастингом переводов из/в CSV и Excel.


Существуют же gettext а также миллиард программ и сервисов для перевода файлов gettext. Строки автоматически собираются из исходного кода (никто не должен вручную проверять и вносить правки при изменении кода/ресурсов), переводчики сразу видят строки, которые надо перевести, переводы валидируются (например, чтобы не возникало ошибок из-за опечаток в названиях placeholder'ов, таких как Сишные %s, %d), после перевода все переведенные строки автоматически доступны приложению.


Для перевод po файлов существует просто прорва онлайн сервисов, GUI программ, self-hosted сервисов (я, например, использую сейчас Weblate).


Как при всем таком многообразии инструментов, которые значительно автоматизируют и облегчают процесс, рекомендовать до сих пор CSV и Excel?.. Неужели Unity не поддерживает ничего лучше?

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность