Здравствуйте, Poopy Joe, Вы писали:
S>>Есть. И еще есть консоль, в которой часто удобнее и быстрее сделать то же самое, что и в ui PJ>Ага, три с половиной случая.
Больше, больше...
S>>Нет конечно. Следует ли из этого что ты не всегда используешь специнструмент для решения некоторых задач, а используешь то, что есть под рукой? PJ>Конечно использую. Можно бутылку о край стола открыть. Но кому придет в голову объявлять стол удобным инструментом для открытия крышек?
Тому же, кому придет в голову сравнивать консоль и обычный деревянный стол
S>>В виндах тоже есть консоль, внезапно. И, говорят, последняя её версия приближается по удобству к лялиху. Микрософтовцы по твоему дураки, раз начали дорабатывать "инструмент 70х годов"? PJ>Ну так сам же говоришь "идут куда-то не туда".
С консолью они идут как раз именно туда
PJ>Улучшение инструмента это всегда полезно, даже если он такой ограниченный как консоль.
Ну так в линухах консоль и улучшают постоянно. Только вот это инструмент ни разу не ограниченный.
S>>А говоришь, что не категоричен... Чему верить? PJ>- Ты категоричен. PJ>- Где? PJ>- 2*2? PJ>- 4 PJ>- Ну вот, категоричен...
Пример с 2*2 не в тему, в нём есть даже не логика, а математика.
S>>Тогда что ты имел ввиду под скриптингом гуя? PJ>Я вообще не имел ввиду никакого скриптинга гуя. Я сказал, что программы с UI точно так же поддаются автоматизации. Как это происходит зависит от задачи. В числе прочего можно даже автоматизировать нажатие на кнопки. Кнопки, Карл, а не к пиксели на экране. Почему, бога ради, из всех возможных методов ты привел как аргумент самый нелепый? Это все с чем можно сравнивать консоль? Или это линукс-вэй, делать все самым странным, замысловатым образом?
Я в курсе, что иногда можно и кнопки нажимать, но мне будет интересно как ты будешь искать хэндл кнопки в приложении, написанном на делфи с кастомным интерфейсом. А мне именно такое и досталось в своё время. Я всего лишь описал свой опыт.
И, кстати, это было за два года до старта изучения мной линупса.
S>>Популярность винды на десктопах обусловлена тем, что её продают вместе с десктопами. PJ>Сказку которую рассказывают уже 20 лет. Если бы не было многочисленных попыток продавать компы с линуксом, так можно было бы и поверить.
С нуля — пошло бы на ура, так как никакой существующей инфраструктуры не было бы (например, знакомых, которые говорят "у меня винда и у Васи с Машей винда. Бери с виндой"). Что, в принципе, подтверждается ситуацией с ОС на мобилах. Линупс там победил.
S>>Впрочем популярность линуха на мобильных девайсах ровно оттуда же PJ>А винду на них продают отдельно?
Нет конечно, но как бы винда на мобилах плетется где то в хвосте.
Ну, как минимум после ведра и яблока.
Здравствуйте, Mamut, Вы писали:
M> Ах, да. Ничего. Ты, видимо, имел в виду Search Patterns? M> 1. Их нет в man'е. Они есть в неком низвестном aptitude reference manual
Вполне себе известном. /usr/share/doc/aptitude/README
M> 2. aptitude search выдает ~dxml практически такое же количество пакетов, как и без ~d
И что? Если я привожу тебе не полную команду, тебе не нравится, привожу полную, тебе не нравится. Ты уж определись.
M> Ну и да, самое главное. Как я описал, xmlstarlet не подходит, от слова вообще.
Кому-то не подходит, кому-то более чем — инструментов на вкус и цвет, выбирай любой. Если ты не видишь пропасти, которая лежит между поиском утилиты под windows и поиском утилиты под *nix, то я тут только разведу руками.
M> А в это время в Виллабаджо люди открыли XML в IDEA и пользуются всей мощью правильных инструментов.
А гигабайтные XML правильные инструменты осилят? А что будут делать правильные инструменты, когда это будет необходимо делать каждый день, по нескольку раз в день? Вопросы риторические.
Управляю вселенной не привлекая внимания санитаров.
Здравствуйте, Sheridan, Вы писали:
S>Тому же, кому придет в голову сравнивать консоль и обычный деревянный стол
Уговорил, сравнивай с железным. Смысл тот же.
PJ>>Улучшение инструмента это всегда полезно, даже если он такой ограниченный как консоль. S>Ну так в линухах консоль и улучшают постоянно. Только вот это инструмент ни разу не ограниченный.
Ограниченный конечно. Ничего кроме вывода текста и ручного ввода команд.
S>Пример с 2*2 не в тему, в нём есть даже не логика, а математика.
Так и у меня и логика и математика. Если подсчитать пользователей которые используют ping и tail, то будет совершенно пофиг консольные они или нет.
S>Я в курсе, что иногда можно и кнопки нажимать, но мне будет интересно как ты будешь искать хэндл кнопки в приложении, написанном на делфи с кастомным интерфейсом. А мне именно такое и досталось в своё время. Я всего лишь описал свой опыт.
Непонятно что мешало найти хендл кнопки, это все равно виндовый объект. Но пусть даже там была своя отрисовка, как тебе тут консоль-то бы помогла? К чему ты этот пример привел?
S>С нуля — пошло бы на ура, так как никакой существующей инфраструктуры не было бы (например, знакомых, которые говорят "у меня винда и у Васи с Машей винда. Бери с виндой"). Что, в принципе, подтверждается ситуацией с ОС на мобилах. Линупс там победил.
Такая же сказка. Девять из десяти процентов пользователей вообще не в курсе, что у них какая-то там винда стоит. Спокойно уходят на ту же макос. Дали бы им удобные инструменты, сидели бы в линуксе. Но этого нет, есть сказки про удобную консоль, в которой есть все пакеты, которые надо только найти. Линукс на мобилах победил потому что забили на тру юних и сделали почти приличный интерфейс, без консоли.
S>Нет конечно, но как бы винда на мобилах плетется где то в хвосте. S>Ну, как минимум после ведра и яблока.
Т.е. поставки с железом ни на что не влияют по факту. Неудобная, нет приложений и пользователи ее не берут. Вот и все. То же самое с линуксом на десктопах.
Здравствуйте, Sheridan, Вы писали:
S>Только что посмотрел — в vlc есть такая настройка
Блин, жалко я уже снес (если не ошибаюсь Линукс Минт) — что бы проверить что "а ларчик то просто открывался". Но с другой стороны, я не понимаю зачем такую очевидную вещь нужно где-то настраивать ...
Это просто должно быть по умолчанию без всяких настроек. Или опиши сценарий где включение скринсавера посреди кино — это реально нужная вещь.
S>Ну я хз, возможно у меня опыта больше, я сразу нашел как
Тебя почему-то в том топике не было, занят был или еще что, я не потролить хотел, а разобраться.
S>Еще раз: популярность ОС на десктопах, смартах, роутерах определяется не спросом пользователей, а тем, что туда предустановил производитель/магазин.
производитель/магазин — не идиот и будет ставить то, что больше продается. В случае смартов, роутеров и всего ембедед это больше правда, поскольку пользователь не сталкивается напрямую с ОС, он видит только веб-морду (ну или другой ГУЙ)
И ему (пользователю) наплевать что там внутри в потрохах, все дело в удобстве интерфейса.
А в случае десктопа юзер остается 1 на 1 с системой.
В этом то и кардинальное различие.
M>> 1. Их нет в man'е. Они есть в неком низвестном aptitude reference manual AB>Вполне себе известном. /usr/share/doc/aptitude/README
Мне — неизвестном.
M>> 2. aptitude search выдает ~dxml практически такое же количество пакетов, как и без ~d AB>И что? Если я привожу тебе не полную команду, тебе не нравится, привожу полную, тебе не нравится. Ты уж определись.
Твоя «полная» команда тоже нифига не работает без дополнительных костылей в виде egrep/
M>> Ну и да, самое главное. Как я описал, xmlstarlet не подходит, от слова вообще.
AB> Кому-то не подходит, кому-то более чем — инструментов на вкус и цвет, выбирай любой. AB> Не беда, гугл подскажет AB> в первых строках плюс еще кучу возможных утилит на любой вкус и цвет AB> Ну есть xml-sed (из xml-coreutils) [ссылка на sourceforge, в репозиториях нет]
Ну и т.п.
AB> Если ты не видишь пропасти, которая лежит между поиском утилиты под windows и поиском утилиты под *nix
Эту «пропасть» видите только вы, линуксоиды. На практике вы точно так же ищите утилиты на любой чих, лезете в гугл, качаете с разных сайтов и т.п.
Здравствуйте, Evgeniy Skvortsov, Вы писали:
ES>Блин, жалко я уже снес (если не ошибаюсь Линукс Минт) — что бы проверить что "а ларчик то просто открывался". Но с другой стороны, я не понимаю зачем такую очевидную вещь нужно где-то настраивать ... ES>Это просто должно быть по умолчанию без всяких настроек. Или опиши сценарий где включение скринсавера посреди кино — это реально нужная вещь.
Вообще то по умолчанию стоит. Может ты не из vlc смотрел?
S>>Ну я хз, возможно у меня опыта больше, я сразу нашел как ES>Тебя почему-то в том топике не было, занят был или еще что, я не потролить хотел, а разобраться.
S>>Еще раз: популярность ОС на десктопах, смартах, роутерах определяется не спросом пользователей, а тем, что туда предустановил производитель/магазин. ES>производитель/магазин — не идиот и будет ставить то, что больше продается. В случае смартов, роутеров и всего ембедед это больше правда, поскольку пользователь не сталкивается напрямую с ОС, он видит только веб-морду (ну или другой ГУЙ) ES>И ему (пользователю) наплевать что там внутри в потрохах, все дело в удобстве интерфейса. ES>А в случае десктопа юзер остается 1 на 1 с системой. ES>В этом то и кардинальное различие.
Мне лень объяснять очевидные вещи, извини.
Здравствуйте, Kernighan, Вы писали:
K>Ну если "нормальные шрифты" это "как в Винде", то может быть. K>А я вот с 1999 года сижу на Линуксе (с прошлого века, Карл!) и не замечал, что со шрифтами в Линуксе что-то не так. K>Наоборот, в Виндах всё время хочется навести резкость. Потому что нет чёткой границы у буквы да и всё. Расплывается.
K>А ещё в Виндах в pdf буква "о" почему-то крупнее квадратных букв. А в Линуксе в том же самом pdf размер нормальный. K>Но вы это гавно не замечаете. Видать принюхались.
Я оцениваю шрифтовую культуру по двум компаниям: Apple и Adobe, потому что там люди к тексту относятся с уважением.
У майкрософта со шрифтами стало все более-менее где-то с 7 версии. В 8 они сделали Segoe UI, который по качеству на очень
достойном уровне. К сожалению, хорошие шрифтовики бесплатно работать не будут, поэтому приходится использовать то, что
в открытом доступе.
Если взять какой-нибудь RHEL, то мыло есть и там. Да, я работаю с GUI в дефолтных настройках, потому что это исключительно
типовые серверы приложений, которые требуют графические библиотеки, потому что раздают софт либо через X-Server либо через HP RGS.
В остальных дистрибутивах рендеринг текста мерзок, особенно в каких-то мутных, один из которых, например, был приведен по ссылке.
Тут видимо просто всю визуальную отстрелили и сделали чтобы было "похоже", без попыток понять почему те или иные элементы имеют
такую форму или расположены на этом конкретном месте.
Здравствуйте, Sheridan, Вы писали:
S>Дело в том, что в линупсе принято не один большой огромный инструмент делать, а кучу мелких, каждый из которых выполняет свою работу. Это позволяет избежать копипаста кода при программировании, позволяет легче поддерживать актуальность каждого инструмента, позволяет при скриптовании явно видеть как именно будут обрабатываться данные.
Понятно, что сжать пачку файлов и отправить ее по SSH это круто и все-такое. Только вот сделать какую-нибудь штуку типа обработки специфических бинарных форматов,
так просто уже не получается, и нужно писать те же скрипты или полноценные программы, что и в винде. Ну и сам по себе баш — это безумие,
которое нужно еще заставить корректно работать для нетривиальных сценариев (не чего-то в духе "cat file | awk | sort | uniq" или "cp *.mp3 some-folder/").
Мне как-то довелось отлаживать чужой скрипт на ksh, который отвечал за индексацию файлов с помощью Autonomy IDOL, и с тех пор мое отношение к консоли
поменялось с однозначно положительного на нейтральное. То есть, ее удобно использовать тогда, когда задача прямо идеально ложится на простые операции
с текстовыми (plain text или tsv|csv) данными, и ни за что ее не использовать для всего остального.
Если хочется тестового упражнения, которое неприятно делать в консоли — порежьте SegY (или инкапсулированный SegD с ленты) на сейсмические трассы правильно.
Если заголовок там еще через dd | iconv вытащить можно (кстати, не всегда корректно, если следовать стандарту от 2002 года), то вот дальше начинается хардкор.
Здравствуйте, Sheridan, Вы писали:
S>Было бы интересно что случилось бы с виндой при похожей ситуации и можно было бы её так же легко вернуть в работу обратно.
Здравствуйте, Sinclair, Вы писали:
S>Да, в сравнении с "обычным" cloud storage, например от МС.
Непонятно как их сравнивать — облачные сервисы уже научились иметь защищённый гигабитный канал до моего компьютера? )
S>Это при том, что "обычный" cloud — это не один жёсткий диск, а зарезервированное место в кластере. Через 10 лет ваши файлы в OneDrive всё ещё будут там же, а переживёт ли HDD такой срок — большой вопрос.
Угу. Причём весьма вероятно, что через 10 лет эти файлы останутся в OneDrive (ну или где-то там ещё), даже если владелец удалит их... ))) А уж если догадаться положить туда что-то незашифрованное, то... )))
Здравствуйте, Sheridan, Вы писали:
S>Дело в том, что в линупсе принято не один большой огромный инструмент делать, а кучу мелких, каждый из которых выполняет свою работу.
Здравствуйте, alex_public, Вы писали:
_>Непонятно как их сравнивать — облачные сервисы уже научились иметь защищённый гигабитный канал до моего компьютера? )
Защищённый — сколько угодно. С гигабитом пока что не очень, это факт. Впрочем, для локальных HDD это тоже фантастика — например, я ни разу не видел на своём внешнем винте скорости выше 60mb/sec на чтение и ~20mb/sec на запись.
То есть мы говорим о примерно полугигабитном канале при расстоянии между компьютером и накопителем в 30см.
S>>Это при том, что "обычный" cloud — это не один жёсткий диск, а зарезервированное место в кластере. Через 10 лет ваши файлы в OneDrive всё ещё будут там же, а переживёт ли HDD такой срок — большой вопрос. _>Угу. Причём весьма вероятно, что через 10 лет эти файлы останутся в OneDrive (ну или где-то там ещё), даже если владелец удалит их... ))) А уж если догадаться положить туда что-то незашифрованное, то... )))
Простите, с голосами в голове общаться неинтересно. Если вас беспокоит privacy — читайте EULA, там всё подробно описано. У современных облачных сервисов с этим всё обстоит приемлемо хорошо.
С точки зрения теории вероятностей, за 10 лет максимальный шанс утечки ваших особо секретных фоток из отпуска у сценария "подключил напрямую к компьютеру гостя и скопировал не ту папку", , потом уже идёт "нечаянно зашарил на всех в фейсбуке", и где-то месте на 50м идёт "нечистоплотный сотрудник майкрософт шантажирует пользователя фотками из onedrive".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sheridan, Вы писали:
S>Здравствуйте, _const_, Вы писали:
__>>Ты не поверишь... Дело, разумеется, не в ОС, а в инструменте — многие кодировку определяют самостоятельно. S>Дело в том, что в линупсе принято не один большой огромный инструмент делать, а кучу мелких, каждый из которых выполняет свою работу. Это позволяет избежать копипаста кода при программировании, позволяет легче поддерживать актуальность каждого инструмента, позволяет при скриптовании явно видеть как именно будут обрабатываться данные.
Дело в том, что пользователю наплевать, что там и как принято. Ему надо, чтобы было удобно. Проблемы разрабов — это проблемы разрабов.
S>Впрочем...
Отличный пример. "Удобство" консоли во всей красе. Нормальный человек предпочитает в гуевом редакторе просто выбрать меню "Файл-Открыть...".
Здравствуйте, _const_, Вы писали:
__>>>Ты не поверишь... Дело, разумеется, не в ОС, а в инструменте — многие кодировку определяют самостоятельно. S>>Дело в том, что в линупсе принято не один большой огромный инструмент делать, а кучу мелких, каждый из которых выполняет свою работу. Это позволяет избежать копипаста кода при программировании, позволяет легче поддерживать актуальность каждого инструмента, позволяет при скриптовании явно видеть как именно будут обрабатываться данные. __>Дело в том, что пользователю наплевать, что там и как принято. Ему надо, чтобы было удобно. Проблемы разрабов — это проблемы разрабов.
Да как бы мне тоже наплевать как там принято в виндах. В линупсе многие вещи принято делать по другому. С другой стороны, ползователям конечно же наплевать, но их никто не загоняет в консоль, для них есть удобные им инструменты
S>>Впрочем... __>Отличный пример. "Удобство" консоли во всей красе. Нормальный человек предпочитает в гуевом редакторе просто выбрать меню "Файл-Открыть...".
Так и продолжайте, раз более быстрого и удобного метода простой обработки у вас нет
Здравствуйте, m.aksenov, Вы писали:
MA>Понятно, что сжать пачку файлов и отправить ее по SSH это круто и все-такое. Только вот сделать какую-нибудь штуку типа обработки специфических бинарных форматов, MA>так просто уже не получается, и нужно писать те же скрипты или полноценные программы,...
Почитай повнимательнее ветку. Я никогда не был настолько принципиальным, дабы категорически целиком и полностью заставлять всё делать из консоли
Здравствуйте, Farsight, Вы писали:
S>>Было бы интересно что случилось бы с виндой при похожей ситуации и можно было бы её так же легко вернуть в работу обратно. F>Получи похожую ситуацию сперва.
При апдейте вырубило свет, точки сохранения отключены для экономии ресурса ssd
Для примера сойдёт.
Здравствуйте, Sheridan, Вы писали:
P>>К примеру Eclipse (или LibreOffice, если речь о домохозяйках)... S>А я всё ждал, когда же вспомнит кто крайности и перейдет к большим проектам.
Но ими пользуются как в Винде, так и в Линуксе. И ведут они себя примерно одинаково в обеих системах. Вот меня и интересует, где принципиальная разница, о которой ты говорил. Ну или приведи свой пример. Так, чтобы понятно было.
Кстати, поведение vim-а тоже одинаково в обеих системах.
S>По сабжу — эклипс, либра — в терминологии данного топика — специализированный инструмент. А я множество раз говорил — "специнструмент нужен когда уже существующих недостаточно для обработки имеющихся данных при достижении нужного результата."
А всякие там cat, find, etc. — это не специализированные инструменты? А всякие GUI-оболочки в Линуксе — это какие инструменты?
Здравствуйте, Sheridan, Вы писали:
S>Почитай повнимательнее ветку. Я никогда не был настолько принципиальным, дабы категорически целиком и полностью заставлять всё делать из консоли
Это понятно, но я говорю о том, что класс задач, которые можно эффективно выполнять из консоли довольно узкий, а именно:
1) Сравнительно простая обработка текстовой информации.
2) Ad-hoc правка конфигов + администрирование системы.
3) Бросание файлами из стороны в сторону.
4) Для разработчиков — запуск систем сборки. Опционально разработка в vim/emacs/nano.
Тащемта все. Теперь проблемы по пунктам:
1) Про манипуляции с docx, odf или даже xml из консоли мы не говорим, тут сразу начинается боль.
2) Отсутствие валидации при правке конфигов из консоли. То есть, ошибся в конфиге sendmail, осознаешь это,
идешь в угол и плачешь от безысходности. Ну и типовые конфигурации можно администрировать удаленно, винда тащемта
так и работает. С появлением всяких chef и docker в линуксе тоже все упростилось.
3) Тут да, с консолью зачастую тяжко сравниться. К какому-нибудь mc или far я как-то не могу привыкнуть, например.
4) Вкусовщина. Ну и я могу запускать все, что мне нужно напрямую из emacs, например
Я не зря упомянул ksh. При скриптовании мы в любом случае будем склеивать утилиты в какой-то
оболочке. Отладить сложный скрипт на каком-нибудь sh/ksh/csh/bash/tclsh — маленький подвиг. То есть,
имея определенный навык — можно, но это слишком много боли. А звать из питона или ruby tar с пачкой опций...
Можно, конечно, только вот как-то удобство пропадает.
Здравствуйте, Privalov, Вы писали:
P>Здравствуйте, Sheridan, Вы писали:
P>>>К примеру Eclipse (или LibreOffice, если речь о домохозяйках)... S>>А я всё ждал, когда же вспомнит кто крайности и перейдет к большим проектам.
P>Но ими пользуются как в Винде, так и в Линуксе. И ведут они себя примерно одинаково в обеих системах. Вот меня и интересует, где принципиальная разница, о которой ты говорил. Ну или приведи свой пример. Так, чтобы понятно было. P>Кстати, поведение vim-а тоже одинаково в обеих системах.
О, боги...
Ну давай напридумываю тебе примеров, когда в консоли мне быстрее и удобнее, чем специнструментом
1. Пережать пару десятков фотографий в более мелкий размер. imagemagik тут будет удобнее и быстрее фотошопа. Но фотошоп предпочтительнее, если надо еще и покропать нужные куски.
2. Скачать видео с ютуба. youtube-dl будет проще и быстрее поисков нужных интернет-сервисов и не факт, что они будут работать (сам мучался). Но веб-сервис будет удобнее, ежели из инструментов доступен исключительно браузер.
3. Найти дубликаты файлов в папках юзеров. fdupes быстрее и понятнее ручного поиска или гуёвого приложения. Но гуёвое приложение будет предпочтительнее, если тебе список надо не обработать, а красиво показать начальству, да еще и в действии.
4. mcedit'ом удобнее и быстрее подправить пару строк незагруженного в эклипс проекта если известно что именно нужно править. Эклипс предпочтительнее, если неизвестно.
5. Быстрее всего протестировать принтер из консоли, набрав echo test | lpr (или чтототипа lpr -o landscape -o scaling=75 -o media=A4 filename.jpg) вместо того, чтобы искать в менюшках пункт тестовой печати. Но менюшки предпочтительнее, ежели принтеров куча и неизвестны их имена
6. df -h быстрее и проще покажет что именно куда именно смонтировано и сколько там еще места осталось, чем в том же filelight. Но filelight удобнее, когда надо понять куда именно делось место.
7. mcedit удобно использовать для создания заметок, но либра предпочтительнее для составления плана работы на год для руководства.
8. Посчитать количество процессоров проще всего cat /proc/cpuinfo | grep flags | wc -l, чем искать специализированное для этого приложение.
9. Опять же, быстрее всего частоты процессоров узнать из cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq
10. free быстро покажет сколько на борту оперативки, но таскманагер предпочтительнее, если надо узнать кто её съел.
11. Снять скриншот экрана быстрее по prtscr (запустится приложение по умолчанию), но снять видео с экрана быстрее чемто типа ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 output.mp4
12. Для сборки приложения удобнее написать скрипт, делающий это (а в идеале вообще make), чем запускать для этого ide.
13. Забэкапить флешку целиком проще и удобнее dd if=/dev/sdc of=/кудато/flashbu.img, чем просто копировать оттуда файлы (а если загрузочная?). Но это если понимаешь что делаешь.
14. Найти все временные файлы того же офиса проще всего через find путь -iname '~*', причем можно их сразу на удаление отправлять
15. Отправить кучу фотографий на печать... Впрочем, было уже выше, чуть дописать только. Но проще и быстрее, чем запускать вьювер, выделять все и отправлять.
Давай только по каждому пункту не начинать отдельного флейма. Это всё для примера разграничений.
S>>По сабжу — эклипс, либра — в терминологии данного топика — специализированный инструмент. А я множество раз говорил — "специнструмент нужен когда уже существующих недостаточно для обработки имеющихся данных при достижении нужного результата." P>А всякие там cat, find, etc. — это не специализированные инструменты? А всякие GUI-оболочки в Линуксе — это какие инструменты?
Это базовый набор консольных команд.
Я предпочитаю работать так: декомпозирую задачу, смотрю — смогу ли я её решить базовым набором консоли. Если нет, смотрю нет ли консольных инструментов для этого. Если нет — смотрю нет ли гуёвых инструментов для этого. Если нет — беру в руки перл. Может это тебе поможет с определением.