LINUX.ORG.RU
ФорумJob

Ищу работу в IT, но не имею опыта в IT. Умею много разного, из редкого: Cython и Nix.

 , , , смена карьеры


2

10

По образованию и роду деятельности - физик, и физик вроде нормальный (хирш 7, статьи вплоть до Nature). По факту - программист и главный эникей коллектива. Реальный спектр умений широк и столь же прерывист, потому что Linux изучался чисто по фану и задач не для себя тупо не было. По бумажкам - старший лаборант, и что-то даже после кандидатской перспектива оставаться в российской науке видится феерически угрюмой и слабообеспеченной.

Из всего резюме самое IT-солидное - список из пяти преподаваемых мной курсов разномастного программирования. Куда можно податься с таким нерелевантным резюме, да еще и без просадки дохода (60к/месяц)?

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

Может ну его это IT и стать преподом, только там, где за это платят неоскорбительные суммы?

★★★★★
Ответ на: комментарий от intelfx

Я аж в предел по длине сообщения уперся...

«приложение не взлетит» - нет, а так прям почти DLL Hell.

Да, это всё ради того, чтобы «„приложение не взлетит“ — нет». Починили то, что не сломаноDLL hell ценой здравого смысла.

Неа. Nix - он ради многих вещей сразу. Ради воспроизводимости, да, но не только. Это бы того не стоил в нашем мире контейнеров. Nix еще и ради элегантности подхода вообще. Ради самого seamless blend source-based и binary-based, какой я только могу себе вообразить. Ради свободы делать хрень, подкладывать на ходу разные версии glibc и запускать pandoc в точности так, как он был установлен полгода назад. Ради возможности прямо в питоне написать from nixpkgs import scipy.scipy и «не засрать систему». Ради унифицированного и насильственного ответа на зоопарк разноуровневых PM. Ради изолированных от системы окружений для разработки. Ради того, чтобы вообще перестать мыслить словами «в системе» вообще и искоренить этим к хренам целый класс проблем PM. Ради истинно декларативного описания системы. Ради единства configuration management и package management в одном флаконе.

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

t184256 ★★★★★
() автор топика
Ответ на: комментарий от shatsky

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

+1

t184256, задам невежественный вопрос: если в NixOS собранный пакет иммутабелен и зависит от иммутабельных сборок зависимостей по билдхэшам, зависимость libsomething обновляется с версии 3.14 до 3.14.1, которая удовлетворяет все приложения, собранные с 3.14 - как происходит обновление приложений?

Эй, ничего невежественного, и ты все довольно правильно видишь.

В идеальном мире новая libsomething просто попала бы в nixpkgs и при обновлении канала и пересборке мира каждый пользователь прилежно пересобрал бы и libsomething, и все ее обратные зависимости.

В реальном мире «кипятить воздух» на каждый такой чих охотников мало, поэтому бамп libsomething перед попаданием в релиз некоторое время маринуется и ждет других таких бампов, потом пересобирается мир на гидре, появляется бинарный кеш всего и вся, собранного с новой libsomething, и только потом бамп libsomething попадает в нужную ветку nixpkgs, приходит юзерам вместе с обновлением канала и только тогда новые версии скачиваются из бинарного кеша в /nix/store компьютера конечного пользователя и некоторое время живут там вместе со старой версией libsomething и зависимостей.

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

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

На самом деле интересно, что мешает пересчитать билдхэш пакета при обновлении зависимости без пересборки пакета. Он зависит от информации, которая доступна только в процессе сборки?

Сама концепция мешает. Это тяжелое и дурацкое с точки зрения других PM решение, но на нее нужно пойти ради высокой цели.

t184256 ★★★★★
() автор топика
Ответ на: комментарий от muon

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

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

t184256 ★★★★★
() автор топика
Ответ на: комментарий от t184256

Тебе разве не интересно объединить гравитацию с остальными силами в одной элегантной теории?

Deleted
()
Ответ на: комментарий от Deleted

Интересно, конечно, но я вхожу в те 99.999% физиков, которые напрямую этим не занимаются.

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

t184256 ★★★★★
() автор топика
Ответ на: комментарий от t184256

Так ты там уже софт разрабатываешь? Я думал ты какраз не программист. И что мешает переквалифицироваться в чисто теоретика?

Deleted
()
Ответ на: комментарий от Deleted

Абсолютное к тому нежелание. Чем больше я ухожу в разработку и админство, тем ярче взгляд и тем больше я доволен жизнью. Вот, тред создал, как это лучше развить.

t184256 ★★★★★
() автор топика
Ответ на: комментарий от t184256

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

Deleted
()
Ответ на: комментарий от t184256

В идеальном мире новая libsomething просто попала бы в nixpkgs и при обновлении канала и пересборке мира каждый пользователь прилежно пересобрал бы и libsomething, и все ее обратные зависимости.

Многовато избыточной работы для идеального мира.

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

Безопасность?

Nix по-своему тоже изолирует приложения

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

Сама концепция мешает. Это тяжелое и дурацкое с точки зрения других PM решение, но на нее нужно пойти ради высокой цели.

Если билдхэш означает «приложение собрано с вот этими зависимостями», почему другой билдхэш не может означать «приложение собрано с вот этими зависимостями, а потом зависимость libsomething замещена версией с патчем безопасности»?

shatsky ★★
()
Ответ на: комментарий от shatsky

Многовато избыточной работы для идеального мира.

Идеалы - штука дорогая. А вообще имелось в виду «в простом мире без бинарных кешей».

Безопасность?

Вообще не при чем. Нежелание компилять днями напролет.

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

Что ты под этим подразумеваешь? То, что приложения сами что-то не находят, не означает, что у них нет доступа к тому, что они не находят

Да-да, именно это я имел в виду под «безопасности не приносящий, только боль». Когда ты собрал gtk-модуль, но ни одна зараза его не видит, потому что не завися от него напрямую не узнать путь до него, и хоть плачь от такой кристальной чистоты.

Если билдхэш означает «приложение собрано с вот этими зависимостями», почему другой билдхэш не может означать «приложение собрано с вот этими зависимостями, а потом зависимость libsomething замещена версией с патчем безопасности»?

Технически это даже нетрудно написать. Но ответом будет: потому что вся идея в том, чтобы искоренить такую фиготню во имя чистоты.

И все в NixOS так, от языка до ПМ. Чистые идеалы + простая, как кирпич, основа + свобода действий поверх нее = простая, элегантая и одновременно головоломнейшая хрень.

t184256 ★★★★★
() автор топика
Ответ на: комментарий от muon

Не, те ребята, благодаря которым у меня такое впечатление о науке в Европе сами на гранты сели, без научруков. А у нас тут — поди... Да и в математику вряд ли прям вкладываться будут.

Valman_old
()
Ответ на: комментарий от t184256

Идеалы - штука дорогая. А вообще имелось в виду «в простом мире без бинарных кешей».

Идеалы - это функциональность (нет, не эта), удобство, безопасность, эффективность использования ресурсов и простота внутреннего устройства системы. Остальное - детали реализации.

Технически это даже нетрудно написать.

Насколько я вижу, в гуиксе это уже есть: https://www.gnu.org/software/guix/manual/en/html_node/Security-Updates.html . Зато флагов конфигурации пакетов не видно. Ну, как всегда - минимум два несовместимых решения и в каждом есть что-то, чего не хватает в другом.

простая, элегантая и одновременно головоломнейшая хрень.

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

shatsky ★★
()

попробуйте nodejs и python. первое - просто требуется. второе - для развития и участия в проектах.

znavko ★★
()
Ответ на: комментарий от shatsky

Идеалы - это функциональность (нет, не эта), удобство, безопасность, эффективность использования ресурсов и простота внутреннего устройства системы. Остальное - детали реализации.

Это не NixOS идеалы, а кого-то другого.

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

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

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

t184256 ★★★★★
() автор топика
Ответ на: комментарий от znavko

Я знаю Python, обрывочные факты: использую каждый день на работе в связке с Cython, умею опакечивать, написал и выложил на pypi несколько никому не нужных библиотек, знаю много нужного и ненужного о языке, даже несколько раз юзал метаклассы, сочинил, курирую и преподаю курс по Python в своём ВУЗе.

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

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

t184256 ★★★★★
() автор топика

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

doomgl
()
Ответ на: комментарий от t184256

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

Поставил недавно, по собственному желанию. На самом деле, скорее доволен. Но безальтернативное применение принципа «приложение должно быть установлено с теми зависимостями, с которыми оно было собрано» я считаю неправильным. Мне пока что видится, что при нежелании пересобирать/перекачивать обратные зависимости в ситуациях, когда вероятность поломки вследствие замещения пренебрежимо мала, можно просто заменять в сторе старую деривацию, от которой они зависят, симлинком на новую. Это нарушает чистоту(тм), но при этом наглядно видно, чем и почему она нарушена, и на чем это может сказаться. Сделать для этого какой-нибудь nix-rebuild --dirty, при этом в любой момент можно будет выполнить чистый для пересборки всего в соответствии с идеалами и получения дерева, идентичного тому, которое было бы получено при сборке с нуля. При таком подходе нет возможности сохранить замещенную деривацию в сторе и заместить ее только для некоторых обратных зависимостей, но это едва ли может быть нужно, а если и может, то не настолько часто, чтоб ради этого заморачиваться.

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

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

shatsky ★★
()
Ответ на: комментарий от shatsky

Еще, насколько я понимаю, хоть никс и позволяет разным версиям пакетов сосуществовать в системе, он не позволяет в репозитории иметь старые версии библиотек

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

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

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

Это просто 4.2.

t184256 ★★★★★
() автор топика
Ответ на: комментарий от t184256

Обрести она за ночь популярность хотя бы уровня WSL...

WSL обязана своей популярностью не только тому, что её разработали в Microsoft, но и тому, что юзерспейс получается от немаргинального дистрибутива, в разработку которого вложено кратно больше, чем у NixOS (и самого WSL), усилий, опционально коммерческая поддержка. Чтобы NixOS можно было всерьёз использовать в продакшоне, ей, по всей видимости, нужна популярность на уровне Debian и CentOS — а пока остаётся довольствоваться протухшим stable, сломанным unstable и необходимостью для использования системы быть хотя бы немножко её разработчиком. Так как коммерческих профитов чистота приносит немного, то вряд ли такое положение вещей в обозримом будущем изменится, если только разработка криптовалют на хаскеле не станет мейнстримным занятием.

Softwayer ★★
()
Ответ на: комментарий от Softwayer

Чтобы NixOS можно было всерьёз использовать в продакшоне

Так уже используют. TeamViewer держит сервера на NixOS, у Mozilla сборочные сервера для Firefox тоже построены на основе NixOS.

Deleted
()
Ответ на: комментарий от Softwayer

протухшим stable

да ладно

WSL обязана своей популярностью не только тому, что её разработали в Microsoft, но и тому, что юзерспейс получается от немаргинального дистрибутива

Да ладно, кэп.

Чтобы NixOS можно было всерьёз использовать в продакшоне, ей, по всей видимости, нужна популярность на уровне Debian и CentOS

Понеслась. Между «через месяц будут и вики, и тренинги, и курсы и мурзилки, а остальное приложится», и «можно было всерьёз использовать в продакшоне» разницы не видишь?

t184256 ★★★★★
() автор топика
Ответ на: комментарий от Deleted

А нет тут кого-нибудь из Mozilla, чтобы подобраться к этим сборочным серверам? Официальным путем я ни через требования на опыт работы, ни через требования на Intern'ов не пробьюсь, а звучит это крайне вкусно.

t184256 ★★★★★
() автор топика
Ответ на: комментарий от t184256

да ладно

Глянул сейчас — выглядит не так плохо, как когда сидел на никсоси, но, например, OpenSC даже в мастере не обновлён до релиза месячной давности.

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

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

Softwayer ★★
()
Ответ на: комментарий от Softwayer

А мой поинт был в том, что я не о «к успеху», в отличие от тебя.

t184256 ★★★★★
() автор топика
Ответ на: комментарий от Softwayer

OpenSC даже в мастере не обновлён до релиза месячной давности.

А в чем была проблема бампануть самостоятельно? NixOS, в отличии от Gentoo, запросы на слияние принимает довольно быстро.

Deleted
()
Ответ на: комментарий от Deleted

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

Softwayer ★★
()
Ответ на: комментарий от Softwayer

Гитхаб сегодня с перебоями работает.

Ваще мягко сказано. Только что вот упало уведомление

I understand @joachifm , please feel free to close this issue in that case.

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

t184256 ★★★★★
() автор топика
Ответ на: комментарий от t184256

А искать работу так сразу с деньгами и за рубежом, не?

За рубежом быстро детей пристроят в те семьи где проблем нет ни с ипотекой, ни с деньгами. И не будет ни денег ни семьи.

Или хочется удаленной работы на иностранную компанию?

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

А мне край как интересно, что это с тем тикетом.

Если хочется надежную обратную связь по своему проекту, то может имеет смысл selfhost Gitlab на своем железе ?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

TeamViewer держит сервера на NixOS, у Mozilla сборочные сервера для Firefox тоже построены на основе NixOS.

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

TeamViewer мог бы выпустить для Linux и нативное 64-битное приложение, а не оборачивать 32битную win-сборку 64-битным wine-ом. Ленивые потому и используют что не попадя, в том числе и NixOS.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Или хочется удаленной работы на иностранную компанию?

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

Стричь самозанятых или иностранные компании? И что значит стричь?

Deleted
()
Ответ на: комментарий от Softwayer

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

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

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

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

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Иностранные компании стригутся на 30% как минимум.

А самозанятые самые злостные уклонисты.

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

Deleted
()
Ответ на: комментарий от Deleted

ты ожидал что «думцы» себя обложат налогом?

Deleted
()
Ответ на: комментарий от Deleted

Время полной сборки NixOS из исходников

волнует примерно никого.

t184256 ★★★★★
() автор топика
Ответ на: комментарий от Deleted

За рубежом быстро детей пристроят в те семьи где проблем нет ни с ипотекой, ни с деньгами. И не будет ни денег ни семьи.

Если я за рубеж уеду со своим местным доходом, естественно я там загнусь. Но за рубежом принято нормальные деньги платить, а не как сейчас я за преподавание получаю $1.20/час. А детей еще нет, немного рано их отбирать =)

Или хочется удаленной работы на иностранную компанию?

Нет.

Если хочется надежную обратную связь по своему проекту, то может имеет смысл selfhost Gitlab на своем железе ?

На работе у меня self-hosted GitLab на VPS, для личной фигни - gitea на другом VPS, но тут была речь не про мой проект, а про крепко повязанный на гитхаб nixpkgs.

t184256 ★★★★★
() автор топика
Ответ на: комментарий от intelfx

Если пользоваться версионированием правильно, ценность концепции воспроизводимой сборки становится равна нулю

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

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

Softwayer ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.