Позавчера компания Microsoft опубликовала исходный код PowerShell. Таким образом, это средство автоматизации и конфигурирования на базе .NET Framework стало доступным под Linux.
Некоторые скептически относятся к стратегии «Microsoft любит Linux», которую декларирует редмондский гигант. Кое-кто считает, что консоль от Microsoft не нужна в операционной системе, в которой есть bash. Обычно это просто эмоциональные высказывания, но есть и вполне рациональные аргументированные возражения по существу. Например, разработчик программы
curl
Дэниель Стэнберг (Daniel Stenberg) вполне логично говорит, что наличие внутри PowerShell одноимённого алиаса curl
, а также wget
совершенно неуместно, потому что мешает запустить нормальные привычные программы.«Алиасы curl и wget препятствуют использованию привычных инструментов командной строки, при этом даже близко не обеспечивают такую же функциональность, — пишет Дэниель Стэнберг в пулл-реквесте к свежеопубликованному коду PowerShell на Github. — Они совершенно бесполезны для пользователей PowerShell, но вызывают путаницу для нынешних пользователей curl и wget».
Пулл-реквест Дэниеля Стэнберга поддержали 466 других пользователей Github. В самом деле, алиас
curl
внутри оболочки PowerShell вносит определённую путаницу для тех, кто специально установил curl
под Windows и хочет запускать эту программу из командной строки.Один из разработчиков PowerShell ответил на комментарий Стэнберга, что эти алиасы использовались в разных версиях PowerShell, а их удаление станет «ломающим изменением». Поэтому они отклоняют этот пулл-реквест, ибо он представляет собой «неприемлемые изменения» в соответствии с условиями неприемлемых изменений, которые нарушают обратную совместимость и ломают существующие пользовательские скрипты.
Дэниелm Стэнберг вежливо ответил, что на самом деле добавление этих алиасов в PowerShell стало «ломающим изменением» для людей, которые запускали
curl
и wget
из консоли. «Ни один здравомыслящий человек всё равно не будет использовать эти алиасы, поскольку ваша замена curl
и wget
работает совершенно непохоже на оригинальные команды curl
и wget
. Эти алиасы только усложняют жизнь пользователям, которым нужны настоящие инструменты, и они не делают ничего хорошего для тех пользователей, которым эти инструменты не нужны».Разработчиков PowerShell можно понять. Всем совершенно очевидно, и им тоже, что алиасы
curl
и wget
неуместны, но существующая многоступенчатая бюрократическая система не позволяет им сделать такое изменение по простому пулл-реквесту. В данный момент свободный проект PowerShell управляется комитетом из пяти мейнтейнеров, которые действуют с ведома менеджеров проекта, которые, в свою очередь, подчиняются более высокому руководству в корпорации. Такого рода значительные изменения требуют длительных согласований во всей корпоративной иерархии.Разработчики признают проблему, что когда добавили «алиасы для юниксовых команд», то под Windows эти алиасы мешают запустить нормальные программы. Это нужно исправить, но формально такое изменение является «ломающим», в соответствии с официальным документом. Сейчас мейнтейнеры проводят совещание, что делать с этими алиасами Linux и как решить проблему под Linux и под Windows.
В качестве временного решения они предлагают вручную удалить мешающие алиасы, добавив следующие строки в профиль:
Remove-Item Alias:Curl
Remove-Item Alias:WGet
Комментарии (242)
sav6622
20.08.2016 00:56+2хмм… а остальные алиасы (хотя бы из видимых на экране), ведут себя полностью также как и в Linux ?!? или просто разработчики остальных команд-утилит еще не подтянулись на гитхаб?
wholeman
20.08.2016 02:51cp, cat, cpp — это GNU, а FSF github не любит.
d1f
20.08.2016 10:22-1> cp, cat, cpp — это GNU
нет, это UNIX.wholeman
20.08.2016 10:52+7Тогда уж POSIX, поскольку название UNIX требует сертификации.
Однако, в дистрибутивах GNU/Linux, которые обычно подразумеваются под словом Linux, основные команды POSIX предоставляются пакетом coreutils, разработанным GNU. Третья упомянутая мной команда — cpp, и вовсе препроцессор C, входит в состав GCC, также от GNU.d1f
20.08.2016 12:51> название UNIX требует сертификации.
от кого? я не MS обсуждаю, а нас. Нам можно.
> cpp, и вовсе препроцессор C, входит в состав GCC
Всё вышеупомянутое существовало задолго до POSIX и GNU
и был частью UNIX.wholeman
20.08.2016 13:06Про UNIX почитайте Википедию — там всё подробно описано.
Да, эти команды появились в UNIX, но не факт, что их не было ещё раньше. Но тот UNIX, как таковой, уже всё равно мало кем используется. Вместо него существуют другие реализации. Одна из которых — GNU.d1f
20.08.2016 13:26> Вместо него существуют другие реализации. Одна из которых — GNU.
Названия команд остались теми же.
Сущность, функции команд остались теми же.
Программы эти как были юниксовыми, так и останутся,
независимо от стандартов и реализации.wholeman
20.08.2016 14:31+2Давайте отделим реализацию от спецификации. Программы (бинарные и исходные коды), которые используются в дистрибутивах Linux — GNU, который, как справедливо следует из названия, не UNIX. И они, кстати, имеют расширения, которых нет в стандарте или в UNIX, но, тем не менее, соответсвуют POSIX. Юниксовыми же можно считать соответствующие команды (сочетания символов, передаваемые на вход интерпретатору), так как они — часть спецификации UNIX. Кстати, из этого следует, что авторы программ не имеют оснований просить Microsoft удалить алиасы команд, т.к. они придуманы не ими. Кроме, если не ошибаюсь,
wget
, который есть оригинальная программа GNU.
mayorovp
20.08.2016 10:46-4Алиасы есть только на винде — а там всяческих cp, cat и cpp никогда не было.
В отличии от wget и curl — которые являются отдельными программами, и могут быть установлены на винду.
wholeman
20.08.2016 10:57+4Наберите в bashе
alias
— узнаете много интересного.
Утилиты cp, cat и cpp можно поставить в составе CygWin, но это — нечастый случай.
gold_user
20.08.2016 10:58-3Да? А ты кроме винды что еще видел?
Это что такое у меня по дефолту?
grep alias ~/.bashrc # enable color support of ls and also add handy aliases alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' #alias grep='grep --color=auto' #alias fgrep='fgrep --color=auto' #alias egrep='egrep --color=auto' # some more ls aliases #alias ll='ls -l' #alias la='ls -A' #alias l='ls -CF' # ~/.bash_aliases, instead of adding them here directly. if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases
potan
24.08.2016 01:57Не совсем, но разница не столь мешающая жить. Я уже привык набирать ls, cat, cp и mv, делая поправки на их алиасность. А вместо rm -f… вызываю bash -c «rm -f ...» (с учтановленным cygwin), что бы избежать странного поведения в некоторых ситуациях.
lam0x86
20.08.2016 01:49-32И правильно сделали, что отклонили PR. Это просто троллинг красноглазиков.
Дэниель Стэнберг (Daniel Stenberg) вполне логично говорит, что наличие внутри PowerShell одноимённого алиаса curl, а также wget совершенно неуместно, потому что мешает запустить нормальные привычные программы.
Не мешает. Достаточно добавить @ перед командой, и тогда PS воспримет это как нативную команду. Дэниэль, видимо, сожалеет, что его утилита не сможет прижиться в PowerShell, но она и так не могла бы там прижиться по причине своей ориентированности на строковое представление вывода. Если даже её и будут какое-то время использовать из-за ограниченности Invoke-WebRequest, это продлится недолго. Раз PS стал open source, его быстро нарастят до нужного функционала.zitter
20.08.2016 02:02+9С одной стороны, ты прав, в PS curl скорее всего не приживется. Другой вопрос как будет выживать PS на nix с такой политикой. Пока только начали и ничего не понятно, но может же и не прижиться.
ForNeVeR
20.08.2016 05:15+2«Скорее всего не приживётся»? Да даже в том треде нашлась пара человек, которые им пользуются. Как-то за 10 лет прижился — впрочем, я лично всегда эти алиасы удаляю в профиле.
как будет выживать PS на nix с такой политикой
На текущий момент все Unix-like алиасы PowerShell на Linux-системах отключены. Так что это "ломающее изменение" сломало бы только Windows-версию. В версиях под Linux и macOS пока ещё ничего не сломано, т.к. сомнительных алиасов там нет.
Cheater
20.08.2016 09:27+41. То, что скрипт возможно захочет привлечь утилиты из MinGW / Cygwin, они в расчёт не берут?
2. На линуксе отключены, а на Win нет? То есть алиасы не унифицированы на всех ОС, и типа как кроссплатформенный шелл для одного и того же скрипта выдаёт принципиально разный результат на разных ОС? Отличный подход…ForNeVeR
20.08.2016 09:36+2- Хочет — пускай привлекает, никто ему мешать не собирается. Есть несколько способов для того, чтобы удалить или обойти эти стандартные алиасы как глобально, так и в рамках скрипта/выражения.
- Да, пока было принято такое решение. Оно не окончательное; вот тут обсуждаются варианты.
wholeman
20.08.2016 02:13-1Раз PS стал open source, его быстро нарастят до нужного функционала.
С такой политикой pull-requestов вряд ли. Да он здесь и не нужен. Это Даниэль Microsoft потроллил, а не наоборот. А Microsoft наглядно показал свою сущность.Randl
20.08.2016 02:47+1Ну за последнюю неделю они 70 пуллреквестов приняли. Большинство, наверняка, мелочь, но всё же
lam0x86
20.08.2016 15:05+1Я и имел в виду, что Дэниель потроллил. Неудачно написал фразу, из-за чего её можно интерпретировать в оба направления.
А насчёт сущности Майкрософта — я вас не очень понял. Есть два варианта: либо ломать все существующие скрипты, в которых использовались алиасы curl, либо в новых PS-скриптах, которым надо по какой-то причине использовать настоящий curl, просто дописать @ перед вызовом. При том, что вероятность использования curl-а достаточно низка.
Лично я за 2-й вариант.Delphinum
20.08.2016 15:36-2А почему только два варианта? Можно ведь еще не использовать псевдонимы (изначально), перекрывающие имена часто встречающихся в Linux тулз, а использовать что то более специфическое (как предлагали выше ps_curl на пример), не? Хотя нет, тогда EEE уже не сработает.
lostpassword
20.08.2016 15:48+2Видимо, потому, что изначально использовать другие псевдонимы уже не получится, т. к. они уже внедрены в существующие версии PowerShell.
Delphinum
20.08.2016 15:56-2Под «использованием» я подразумиваю включение онных в состав PS разработчиками. На ваш комментарий все же отвечу:
Видимо, потому, что изначально использовать другие псевдонимы уже не получится, т. к. они уже внедрены в существующие версии PowerShell
Можно ведь еще не использовать псевдонимы
Что мешает использовать полные имена в основанных на PS тулзах, вместо псевдонимов?lostpassword
20.08.2016 15:59Видимо, то, что у кого-то может быть уже написан и внедрён скрипт, использующий этот псевдоним.
Обратная совместимость же.
Ну либо надо будет устраивать кампанию, полгода всех оповещать о грядущих изменениях, а потом плавно изменять эти псевдонимы на другие. Может, в итоге так и сделают.Delphinum
20.08.2016 16:01Видимо, то, что у кого-то может быть уже написан и внедрён скрипт, использующий этот псевдоним
Вот им и нужно конфигурировать псевдонимы у себя, а зачем навязывать их всем остальным, тем более в среде Linux?
Ну либо надо будет устраивать кампанию
Не обманывайте себя, Маленькийсофт не для того занимается портированием своего ПО в Linux.daggert
20.08.2016 16:10+4А вы думаете что кто-то заменит стандартный шел на PS? Побойтесь бога. Его ставят для управления своим окружением своими-же скриптами, и им || на проблемы совместимости с другими приложениями юникс. Скрипт запускается из баша методом "$ ps script.ps1" и на этом вся работа с PS кончается. Как максимум — запускается PS консоль для настройки сервера двумя-тремя командами, и там опять-же все завязано на предсказуемости стандартных PS команд.
Пересечений в использовании нет, даже теоретических.Delphinum
20.08.2016 16:12А вы думаете что кто-то заменит стандартный шел на PS?
Я даже думать о таком боюсь.
Как максимум — запускается PS консоль для настройки сервера двумя-тремя командами, и там опять-же все завязано на предсказуемости стандартных PS команд
Так эти «пересекающиеся» псевдонимы то зачем?daggert
20.08.2016 16:17+1Скорее всего потому что эта команда есть в нативном PS? А алиас для ускорения набора команд — WebGET?
Delphinum
20.08.2016 16:18А алиас для ускорения набора команд — WebGET
webreq?daggert
20.08.2016 16:22+3Скажите, а почему вас зовут Иван? Почему вы создаете неудобные ситуации в стране? Обращаясь к Ивану я имею ввиду своего друга, а откликаетесь вы! Зачем вы это делаете? Может переименуетесь? Я и пулл-реквест подготовил в ЗАГС.
Delphinum
20.08.2016 16:24Потому что в государстве идентификация граждан выполняется не по именам. Как думаете, если я поеду в другую страну, я с могу в этой стране получить идентификатор (если вы понимаете о чем я) полностью идентичный другому гражданину этой страны?
daggert
20.08.2016 16:31+7Запускайте тогда свои линуксовые скрипты по идентификации, а не по «Иван, иди сюда». Запустив /bin/wget вы запустите свой любимый wget, а не web-req. Убунта вот тоже заменяет вызовы ffmpeg на avconv (причем параметры не 1в1!), но ни у кого нет проблем, все это просто помнят.
Delphinum
20.08.2016 16:32Запускайте тогда свои линуксовые скрипты по идентификации, а не по «Иван, иди сюда».
Не получится, адреса могут меняться. Кстати да, многие так и делают.
Убунта вот тоже заменяет вызовы ffmpeg на avconv (причем параметры не 1в1!), но ни у кого нет проблем, все это просто помнят
Потому что убунта не преследует коммерческих целей, чего нельзя скачать о MS с его EEE концепцией. Все довольно просто, и мы об этом помним )daggert
20.08.2016 16:38+6Простите, а MS, выпустив бесплатную программу под MIT лицензией, зарабатывает на этом деньги? Это просто упрощение работы администраторов, такой-же как cygwin.
А может это убунта пытается захватить рынок, встроив себя в win 10?Delphinum
20.08.2016 16:40-1Простите, а MS, выпустив бесплатную программу под MIT лицензией, зарабатывает на этом деньги?
Вы понимаете принципы концепции EEE?
А может это убунта пытается захватить рынок, встроив себя в win 10?
Может быть, если бы убунту себя встраивала в win 10, но убунте это не нужно.daggert
20.08.2016 16:43+6Может вы перестанете передергивать? PS устанавливает тот кому надо, в стандартную поставку он не идет. Это скорее всего вы не понимаете принцип EEE и не можете отличить его от простой взаимной интеграции.
У меня вот установленная убунта в windows 10, через стандартное «удаление компонентов», и я работаю в ssh через zsh на данный момент.
wholeman
20.08.2016 17:12+6Вообще-то в UNIX-подобных системах
ps
— это список процессов, стандартная команда уже больше 40 лет.
MacIn
20.08.2016 16:13Вот им и нужно конфигурировать псевдонимы у себя, а зачем навязывать их всем остальным, тем более в среде Linux?
Интересно, вот есть в cmd.exe «псевдоним» для ls — dir. Давайте его уберем, пусть пользователи его сами конфигурируют.Delphinum
20.08.2016 16:17Нет, давайте лучше в Linux внедрим псевдоним init, который будет ссылаться на автоматическую установку Windows Vista. Вот потеха будет…
MacIn
20.08.2016 20:14Извините, но речь идет об уже имеющихся в PS элементах. Убрать их — как убрать dir или init.
Delphinum
20.08.2016 20:23+1curl это не имеющийся PS элемент, это название чужой программы, которое, по каким то неведомым причинам, MS позволило себе использовать для именования собственно под
делки.
lam0x86
20.08.2016 15:48+3Если бы откатиться во времени назад, то да, можно было бы сделать и так.
А если немного повариться в мире PowerShell, становится понятно, что алиасы там ровно для того же, что и в Linux, чтобы упростить жизнь разработчикам и администраторам, а значит, они должны быть короткими и запоминаемыми. Поэтому и было принято решение использовать те, которые давно все запомнили.
ps_curl? А почему не M$_ps_curl? А то вдруг, не дай бог, кто-то напишет linux-утилиту с названием ps_curl, и Microsoft опять будут виноваты…Delphinum
20.08.2016 15:59чтобы упростить жизнь разработчикам и администраторам
Ну так упрощайте, зачем использовать для этого имена других тулз?
А то вдруг, не дай бог, кто-то напишет linux-утилиту с названием ps_curl, и Microsoft опять будут виноваты…
Если кто то напишет linux-тулзу ps_curl, когда она уже будет общепринята в контексте PS, то это уже проблема автора этой тулзы и разбираться надо будет с ним. С чего это вдруг Маленькийсофт решил, что может использовать чужие именования в своих псевдонимах?
А почему не M$_ps_curl?
А зачем приувеличивать? Чем вам не нравится ps_curl, если вы хотите походить на уже существующий curl, но не хотите конфликтовать? Ну используйте тогда lruc, так же коротко.Alex_ME
21.08.2016 01:18Ну так упрощайте, зачем использовать для этого имена других тулз?
Логика была такая, наверное:
очень многие знают curl, оно на слуху, вот дадим привычное название, чтобы легче было.
От себя: как-то я сидел за ноутбуком и в нем не работал браузер (хз почему), но мне надо было кое-что очень надо было кое-что скачать. Я открыл PS, почесал репу, вспомнил, что в *nix есть curl и написал "curl' в PS наугад. Ура, задача выполнена. А догадался я бы до полного названия?
Delphinum
21.08.2016 01:21А догадался я бы до полного названия?
На самом то деле, я не против этого решения. Когда я услышал про PS я пошел на вику и немного о нем почитал, и то что в нем использовались UNIX-подобные псевдонимы меня скорее обрадовало, нежели разочаровало. Это прекрасно, когда появляется некий общий и популярный стандарт, пусть даже именования тулз. Проблема в том, что это делает MS, а не любая другая компания, это и смущает )Alex_ME
21.08.2016 01:23А если бы любая другая компания сделала свой особый шелл с блекджеком и в нем был curl, который не curl и wget, который не wget — то таких
сраспора и проблемы не было бы?
P.S. И скорее всего бы действительно, не было бы.
Delphinum
21.08.2016 01:24то таких
сраспора и проблемы не было бы?
Думаю не было бы )Alex_ME
21.08.2016 01:31+2Предвзятое отношение к Microsoft :)
Мне не кажется, что PS на линуксе — EEE.
Кто из линукс-админов и пользователей будет использовать стороннюю и куда менее привычную консоль? Может в каких-то моментах она функциональнее (скрипты на шарпе, имхо), но тотальный переход на PS на линуксе мне кажется диким и невозможным.
И вообще позиции MS на рынке ОС не такие абсолютно стабильные как раньше. То, что может прокатить для монополиста может быть опасно в другой ситуации. ИМХО "ms love linux" — это не EEE а повышение инструментария MS среди разработчиков с прицелом на Azure.
Delphinum
21.08.2016 01:33Я не говорю, что это EEE, я говорю что EEE возможен, когда речь идет о MS. Думаю никто не будет спорить о том, какие цели преследует MS (тот же прицел на Azure).
Alex_ME
21.08.2016 01:35Любая коммерческая компания преследует своей главной целью получение и увеличение прибыли. Как будто это что-то плохое.
Delphinum
21.08.2016 01:36О недобросовестной конкуренции я говорил выше.
Alex_ME
21.08.2016 01:40Вы видите недобросовестную конкуренцию в PowerShell на Linux с кривыми алиасами?
И если уж говорить про Azure. Ему конкурент наверное Amazon Web Services. Я боюсь представить себе "многоходовочку" по недобросовестной конкуренции MS на рынке облаков через PowerShell.
"Иногда сигара это просто сигара?"
Delphinum
21.08.2016 01:42Вы видите недобросовестную конкуренцию в PowerShell на Linux с кривыми алиасами?
Нет. Я вижу ее в опыте использования концепции EEE и умерщвлении Skype.
Я боюсь представить себе «многоходовочку» по недобросовестной конкуренции MS на рынке облаков через PowerShell
«Иногда сигара это просто сигара?»
А хз, я не лазил в мозг менеджеров MS.Alex_ME
21.08.2016 01:45Примеры EEE от Microsoft?
А скайп умертвили не при помощи EEE. Его банально купили. За деньги. И просрали
потому что занимались странным говнокодои и дизайнерскими плюшками. Хотя пользуюсь версией 6.5 под винду, полет нормальный. А под линукс они забили на его разработку.Delphinum
21.08.2016 01:47Примеры EEE от Microsoft?
AOL.
А скайп умертвили не при помощи EEE. Его банально купили. За деньги
Да, совершенно так, но это не делает MS чести, верно? )
А под линукс они забили на его разработку
По какой же причине, интересно? )))Alex_ME
21.08.2016 01:50+3Да, совершенно так, но это не делает MS чести, верно? )
Не делает, я не спорю.
Ну ситуация со скайпом немножечко не похожа. Вот если бы они сделали свой аналог, переманили всех, а потом… Но нет. Банально купили и просрали полимеры. Как мобильные оси (старый добрый Windows Mobile, помним, любим, скорбим) и многое другое.
Delphinum
21.08.2016 01:53Даже не немножко, она совсем другая, и на то были свои причины. EEE это особо черное колдунство, оно используется не всегда и не на всех )
Alex_ME
21.08.2016 01:55Скажу так (ИМХО):
Вероятность наступления "линуксукапца" в обозримом будущем, а тем более от мистических EEE от MS -> 0.
Вероятность наступления "вендекапца" в обозримом будущем тоже невелика.
Ничего страшного не произошло и не происходит.
Neftedollar
22.08.2016 14:25EEE это особо черное колдунство, оно используется не всегда и не на всех
и только скомпанией Microsoft, т.к. у них приоритетное право, даже ещу лучше: Был всем доступный приницип EEE, затем MS его поддержали, потом расширили, а сейчас видимо закрыли! И поэтому только МС им могут пользоваться. Я все понял!Delphinum
22.08.2016 15:13и только скомпанией Microsoft
А у вас есть доказательства, что кто то еще применял эту концепцию?
Neftedollar
22.08.2016 14:21Этот ваш приницп ЕЕЕ знаете вы, знает Google/Apple/etc. и он есть, значит он возможен в принципе. Почему ни одна другая компания не сможет им воспользоваться? Давайте бояться всего подряд?
Ramires
22.08.2016 14:47Почему ни одна другая компания не сможет им воспользоваться?
Взгляните на закрытые проекты Google
Первое вспомнившееся:
Picnik
What it did: An online photo editor. Before being acquired by Google in 2010, Picnik was the default photo editor in Flickr.
What happened: Closed on April 19, 2012.
Delphinum
22.08.2016 15:14Возможен в принципе, совершенно верно. Вот уличите другие компании в использовании EEE, тогда и будем о них беспокоиться, а пока только MS облажалась.
Neftedollar
22.08.2016 14:19Проблема в том, что это делает MS, а не любая другая компания, это и смущает
Ну вы-то уже явно так свои скелет «Ненавижу Майкрософт» не выставляйте. А то это так бросается в глаза, что все ваши доводы только сквозь призму вашей личной ненависти к МС стоит смотреть.
wholeman
20.08.2016 17:04Такие алиасы не упрощают жизнь, а усложняют, поскольку нелогичны и создают путаницу. Естественными были бы сокращения вроде
webreq
илиwreq
.
wholeman
20.08.2016 15:51Microsoft взял популярную утилиту и заменил её вызов на свой аналог, по слухам, сильно уступающий оригиналу. Очевидно, делая такую подмену они оценивали вероятность использования curl как достаточно высокую. А теперь Microsoft отказывается удалить алиас, ссылаясь на то, что это поломает скрипты, использующие фальшивый curl.
lam0x86
20.08.2016 16:00+3Первая версия PowerShell вышла 10 лет назад, и ещё неизвестно, сколько прожила в R&D-департаментах компании до релиза. Вы хотите сказать, что они уже тогда готовили коварный план по портированию шелла на Linux и заранее предугадали последствия несовместимости алиасов? Напомню, что платформу .NET, на которой работает PS портировали только в этом году.
PowerShell задумывался как удобное средство администрирования под Windows, а не под Linux. Но если верить теориям заговора, то да, всё так, как вы говорите. Злобный Майкрософт со своей стратегией EEE пытается уничтожить Linux.Delphinum
20.08.2016 16:03PowerShell задумывался как удобное средство администрирования под Windows
Так зачем называть тулзу curl? Curl это отдельная программа, которая существовала на момент появления PS. Разработчики у Маленькогософта не знакомы с такими понятиями, как конфликт имен в ПО?lam0x86
20.08.2016 16:10+4Как вам такой вариант: разработчики не ожидали, что PowerShell будет когда-либо портирован под Linux?
Я бы и 3 года назад покрутил у виска, если бы мне кто-то сказал, что платформа .net скоро будет портирована, а вышло как оно вышло. А уж 10 лет назад между Windows и Linux была пропасть, и в Microsoft считали, что единственное, где они уступают Linux — серверное ПО, поэтому вряд ли они вообще думали о портировании. Они скорее думали о том, как переманить Linux-админов на Windows. И для этого им надо было сделать свой шелл максимально похожим на линуксовый.Delphinum
20.08.2016 16:14-5разработчики не ожидали, что PowerShell будет когда-либо портирован под Linux?
Да какое это имеет значение, что они там ожидали или не ожидали? Зачем использовать чужие названия тулз вы можете объяснить?
как переманить Linux-админов на Windows. И для этого им надо было сделать свой шелл максимально похожим на линуксовый
Думаете в Маленькомсофте сидят дураки? Или думаете что они считают Linux-админов онными?lam0x86
20.08.2016 16:16+2Я вообще-то объяснил. Вы ничего не поняли? Перечитайте мой пост, пока не поймёте.
Delphinum
20.08.2016 16:20Это вы думаете, что объяснили, но похоже вы даже не поняли о чем я вам говорю. Ок, я скажу иначе. Как думаете, какая будет реакция у MS если я напишу под Linux тулзу и портирую ее в Windows с псевдонимом MS Office Word?
lam0x86
20.08.2016 16:29Напишите, узнаем :)
Если вы не будете подменять пути в ярлыках на свои, то никто этого даже не заметит. А назвав свой продукт MS Office Word, вы нарушите торговую марку. Вы нормальный пример приведите.Delphinum
20.08.2016 16:31-1А назвав свой продукт MS Office Word, вы нарушите торговую марку
Даже используя псевдоним я нарушаю торговую марку. Но MS ничего не нарушает, используя curl, потому что curl это не торговая марка. Верно?lam0x86
20.08.2016 16:34+2Так точно, капитан!
Delphinum
20.08.2016 16:38-2Тобишь вас в принципе не интересует конфликт имен тулз, главное чтоб все было юридически законно? )
lam0x86
20.08.2016 16:49+2Я уже объяснил, что данный конфликт может возникнуть только в новых скриптах, которые по какой-то причине захотят использовать нативный curl вместо псевдонима. Этот конфликт решается добавлением одного символа. В новый скрипт. Ничего существующего сломано не будет, поэтому это даже конфликтом язык назвать не поворачивается.
Более того, когда я пишу скрипты на PS, и мне по какой-то причине понадобилось вызвать внешнюю утилиту, я всегда вызываю её с префиксом "@", потому что предполагаю, что скрипт может выполняться в условиях, когда имя будет занято каким-то алиасом, мало ли кому что в голову взбредёт. Но вызывать внешние программы в PS — это моветон, этого надо по возможности избегать, т.к. это ломает объектную модель.Delphinum
20.08.2016 16:51Ну вы таки ответьте на мой вопрос, который я задал в предыдущем комментарии.
lam0x86
20.08.2016 17:18Вы специально уводите дискуссию в сторону, потому что аргументы закончились? Какое отношение юридическая сторона имеет к конфликту алиасов? Как я уже неоднократно писал, в данном случае конфликт минорный, и единственное его следствие — необходимость добавлять символ @ перед вызовом команды, что и так является хорошим тоном при написании PS-скриптов.
Delphinum
20.08.2016 17:21-2Значит юридическая сторона значения не имеет. Замечательно.
1. Как лично вы отреагируете на создание программ, имена которых будут идентичны именам ПО от MS?
2. Как лично вы отреагируете на внедрение в Windows тулзов, имена которых будут повторять имена стандартных Windows тулз?lam0x86
20.08.2016 17:33Вы вообще читаете, что вам пишут?
Юридическая сторона не имеет значение при обсуждении вопроса конфликта алиасов.Delphinum
20.08.2016 17:45-1Так вы ответите на мои вопросы, или будете уходить от них?
lam0x86
20.08.2016 17:491) мне всё равно
2) мне всё равноDelphinum
20.08.2016 17:50Так вот оно что ) Ну тогда с вами не имеет смысла вести этот диалог, так как вы не понимаете сути проблемы. Вам удачи )
lam0x86
20.08.2016 17:53Вы вообще PowerShell-ом пользовались? Поняли, о чём я всё это время говорил? Это вы не понимаете сути проблемы и постоянно уводите дискуссию в другом направлении.
Delphinum
20.08.2016 17:57Пользовался.
Я понимаю о чем вы говорите, но я говорю о другом. Постараюсь максимально понятно сформулировать вопрос: я пишу программу, называю ее DelphinumTools, она внезапно становится мегапопулярной. Вдруг некая крупная компания берет, и создает у себя программу, которая немного повторяет функциональность моей и называет ее так же DelphinumTools. Юридическое право у этой компании на такое действие есть, но все равно вопрос открыт — зачем?lam0x86
20.08.2016 18:08+1В данном случае ответ очевиден: для того, чтобы выехать на популярности оригинального продукта.
В случае с PowerShell всё немного иначе. curl и wget — это как памперс и ксерокс. Они стали настолько популярны, что де-факто являются стандартными утилитами для посылки http-запросов. Так если их все знают, почему бы не использовать устоявшееся название?Delphinum
20.08.2016 18:12Заметьте, я с вами не спорю о целях и причинах MS, это не важно в нашем диалоге для меня, у меня совершенно другие цели.
Так если их все знают, почему бы не использовать устоявшееся название?
Чтобы не путать людей, очевидно же. Представьте, что эта крупная компания вы, почему вы не назвали свою тулзу lam0x86Tools, а назвали DelphinumTools? Мало ли что она популярна и все к ней привыкли, ваша тулза это не DelphinumTools, у вашей тулзы другая функциональность и что более важно, у вашей тулзы другой автор с другим подходом к ее распространению и модернизации. У вас нет права (морального) пользоваться чужим названием, даже не смотря на то, что все к нему привыкли.lam0x86
20.08.2016 18:22Мы всё же говорим про алиасы, а не про тулзы. Мне кажется, это вещи немного разного масштаба. На копировании имён MS замечен не был, на сколько я знаю (в отличие от OpenOffice — согласитесь, название похоже). И, возможно, разработчики совершили ошибку, добавив эти алиасы, а отдел маркетинга не вдавался в такие мелочи. На сколько я понял, в МС признали свою ошибку, но не будут её исправлять, чтобы не ломать обратную совместимость.
Мне интересно, вы всё ещё считаете, что этот случай — часть продуманной стратегии под кодовым именем EEE?Delphinum
20.08.2016 18:26Мы всё же говорим про алиасы, а не про тулзы
Потому я вам и приводил примеры с MS Office Word, но вам это не важно, потому вы не поймете.
в отличие от OpenOffice — согласитесь, название похоже
Не соглашусь, MS Office != OpenOffice. Любой умеющий читать пользователь сразу заметит разницу.
Мне интересно, вы всё ещё считаете, что этот случай — часть продуманной стратегии под кодовым именем EEE?
На самом деле меня это не сильно волнует. Тот факт, что MS в принципе следует концепции EEE уже мне говорит достаточно о политике этой компании, и даже если бы в PS не было curl, мое мнение о MS бы не изменилось. Но на ваш вопрос я отвечу — я думаю что политика MS love Linux это бизнес, а не love.lam0x86
20.08.2016 18:33До появления Microsoft Office вообще не было понятия «офисный пакет», и MS потратили немалые деньги на формирование этой концепции. Поэтому слово Office в имени пакета — ни что иное, как попытка выехать на популярности чужого имени.
Про «MS love Linux это бизнес, а не love» — я с вами согласен, но что в этом плохого?Delphinum
20.08.2016 18:39Поэтому слово Office в имени пакета — ни что иное, как попытка выехать на популярности чужого имени
Вполне может быть, но при этом я не встречал пользователей, которые бы путали MS Office и OpenOffice, потому что названия совершенно разные, а curl и curl это два одинаковых названия.
но что в этом плохого?
Лицемерие и ложь это плохо, особенно в бизнесе.lam0x86
20.08.2016 18:48Вполне может быть, но...
Так значит, им можно?
Лицемерие и ложь это плохо, особенно в бизнесе.
Это, конечно, совсем выходит за рамки дискуссии, но в крупном бизнесе по-другому и не бывает.Delphinum
20.08.2016 18:49Так значит, им можно?
Можно что? Выезжать на чужой популярности? Так я этого и MS не запрещаю. Я против использования идентичных имен.
Это, конечно, совсем выходит за рамки дискуссии, но в крупном бизнесе по-другому и не бывает
Ну это не мешает мне быть против этого )
VoidEx
22.08.2016 02:26А можно поподробнее про '@'? Как с ней вызвать внешнюю утилиту?
Что-то я ничего не могу нагуглить, а эксперименты в ps не помогают понятьForNeVeR
22.08.2016 05:17+1У меня пока получилось только так:
PS> new-alias curl echo # чтобы скрыть нативную утилиту PS> curl --version # так не работает --version PS> @curl --version # и так не работает PS> & (gcm -c ap curl) --version # а так работает curl 7.30.0-DEV (x86_64-pc-win32) libcurl/7.30.0-DEV OpenSSL/1.0.1e zlib/1.2.8 libssh2/1.4.4_DEV ... PS> & (Get-Command -CommandType Application curl) --version # длинный вариант того же, работает
VoidEx
22.08.2016 12:24+1Спасибо. В принципе, этот вариант можно сократить, обернув в функцию
PS> function ap($a) { & (gcm -c ap $a) $args }
PS> ap curl
...
PS> ap curl --help
...
P.S. Ага, увидел в ссылке на github ваш вариант, с '^'
ArPi
21.08.2016 08:11извините, что вмешиваюсь в диалог, а если назвать свою утилиту, скажем find.exe? Тогда как?
lam0x86
21.08.2016 12:53Если вы пишете bat-скрипты для cmd.exe, то проблема действительно будет. Но я бы изгонял из профессии динозавров, которые в 2016 году пишут батники. В PowerShell подобных проблем нет.
Shtucer
20.08.2016 22:08+4Да только программе curl без малого 20 лет. И она была кроссплатформенна с самого начала.
wholeman
20.08.2016 16:50Я не думаю, что они таким образом пытаются уничтожить Linux. Но, согласитесь,
curl
иwget
— далеко не самые очевидные сокращения дляInvoke-WebRequest
, если не иметь в виду тех, кто уже привык этим командам. Так что заговор здесь может быть разве что в приучении администраторов Windows к своему пониманию этих слов, чтобы осложнить им переход под GNU/Linux. Но это маловероятно. Кстати, в PowerShell есть более логичные сокращения для этой команды?lam0x86
20.08.2016 17:06PS> Get-Alias | ? {$_.ResolvedCommand.Name -eq "Invoke-WebRequest"}
CommandType Name
----------- ----
Alias curl -> Invoke-WebRequest
Alias iwr -> Invoke-WebRequest
Alias wget -> Invoke-WebRequest
wholeman
20.08.2016 17:19+1То есть, короткий алиас есть. Неужели администраторы Windows не могли запомнить правильную команду, но отличия в параметрах вызова от оригинала — могли? При том, что у curl и wget параметры разные.
lam0x86
20.08.2016 17:29Лично я чаще всего пользуюсь алиасом wget, если пишу однострочники. Если же я пишу полноценный скрипт, я не использую алиасы вообще.
Почему wget? Видимо, как вы говорите, не могу запомнить эту аббревиатуру «iwr». wget — тёплый и ламповый, а запоминать параметры вызова и не надо — в PS есть автокомплит всего и вся.
MacIn
20.08.2016 16:11+1И какова сущность? Стремление сохранить обратную совместимость? Дичайший грех, да.
wholeman
20.08.2016 17:00Обратную совместимость скриптов, использующих подделку от Microsoft вместо оригинала, игнорируя мнение автора этого самого оригинала и сообщества, в которое они хотят внедрить свою технологию.
ForNeVeR
22.08.2016 05:13Слушайте, а что за символ
@
такой? Что-то у меня не работает, да и в комментариях B. Payette это подтверждает: https://github.com/PowerShell/PowerShell/issues/1975#issuecomment-241267540
Вот моя PowerShell-сессия (
curl
у меня установлен и доступен вPATH
):
PS> curl --version # ожидаем запуска нативного бинарника, его и получаем curl 7.30.0-DEV (x86_64-pc-win32) libcurl/7.30.0-DEV OpenSSL/1.0.1e zlib/1.2.8 libssh2/1.4.4_DEV Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtsp scp sftp smtp smtps telnet tftp Features: AsynchDNS IPv6 Largefile NTLM SSL libz PS> new-alias curl echo PS> curl --version # ожидаем вызова алиаса, его и получаем --version PS> @curl # ожидаем запуска нативного бинарника? строка:1 знак:1 + @curl + ~~~~~ Оператор с символом "@" невозможно использовать для ссылки на переменные в выражении. "@curl" может использоваться только как аргумент для команды. Для ссылк и на переменные в выражении используйте "$curl". + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : SplattingNotPermitted
wholeman
20.08.2016 02:05+1Надеюсь, никому из авторов дистрибутивов GNU/Linux не придёт в голову включить это в стандартный комплект.
derpymarine
20.08.2016 02:31+7Они не станут убирать по очень простой причине: это может сломать уже написанные скрипты в том числе на других платформах помимо линукса. Это же алиас. Его можно просто удалить, если он не нравится, или поставить "@" перед командой.
wholeman
21.08.2016 13:51+1При этом их совершенно не беспокоит, что на платформах, отличных от Windows, эти скрипты работать не будут, поскольку там, говорят, нет таких алиасов.
saboteur_kiev
20.08.2016 02:58Просто вызывать wget и curl с абсолютным путем, а не удалять алиасы?
boombick
20.08.2016 07:09+8Повесить другие алиасы на wget и curl?
==
Вы прослушали радиопьесу «Костылестроители»
gold_user
20.08.2016 10:27+2Как-то некрасиво получается. Вы пришли к кому-то со своим и это свое кому-то мешается. Дальше следует ваше предложение.
А не слишком ли нагло, с вашей стороны?
AntonAlekseevich
20.08.2016 10:27Ok! если абсолютный путь будет к примеру таким:
"X:\a29b6a81-76db-4519-b001-b1f99b3f19bf\537e9f7f-9400-4e67-b113-014c2fbe6c96\3d278258-e45e-4525-82f8-4890bc7ec094\4e7dc10f-694d-420b-a7c7-485252184076\curl.exe"
Будешь сам писать руками или воспользуешься алиасом?
saboteur_kiev
20.08.2016 20:22Вообще часто решается вот так:
curlexecutable=«X:\a29b6a81-76db-4519-b001-b1f99b3f19bf\537e9f7f-9400-4e67-b113-014c2fbe6c96\3d278258-e45e-4525-82f8-4890bc7ec094\4e7dc10f-694d-420b-a7c7-485252184076\curl.exe»
diffexecutable=«c:\tools\diff1.2.exe»
$curlbin www.site.com
Cheater
20.08.2016 09:17+2> Сейчас мейнтейнеры проводят совещание, что делать с этими алиасами Linux и как решить проблему под Linux и под Windows
1. Не создавать алиасы, приводящие к конфликту имён. Алиас для команды Invoke-WebRequest можно было создать десятками способов, не создающими конфликт имён — iwr, invokewr, ps_wget, как угодно, но вы выбрали именно wget.
2. Решать подобные вопросы на ээээ несколько более ранней стадии, чем релиз.
Ваш Кэп.
zedalert
20.08.2016 09:58+1Ага, может ещё и другие никсовые алиасы удалить, к которым люди привыкли, например, cp, ls.
wholeman
20.08.2016 12:39+2cp и ls — стандартные команды POSIX, тогда как curl и wget — отдельные программы, и эти команды появились, только когда их авторы выпустили свои утилиты. А Microsoft добавил в PowerShell алиасы для их имитации. Автору curl это не понравилось. Если бы кто-то сделал лончер, который по ярлыку Microsoft Word запускает Либру, да сделал версию для Windows, Microsoft тоже вряд ли были бы довольны.
Delphinum
20.08.2016 13:43кто-то сделал лончер, который по ярлыку Microsoft Word запускает Либру, да сделал версию для Windows
Хмм… А это идея )wholeman
20.08.2016 14:33+1Только имейте в виду, что в отличие от curl, Microsoft Word — торговая марка, принадлежащая компании Microsoft, известной своими юристами.
Foreglance
20.08.2016 11:05+4при этом даже близко не обеспечивают такую же функциональность
Вариант — обеспечить нужную функциональность.mayorovp
20.08.2016 11:12+1Не вариант. curl и wget — это не команды оболочки, а отдельные и довольно популярные программы.
Foreglance
22.08.2016 09:14Тогда этот аргумент не имел-бы смысла.
Возможно этот вариант лучше, чем ничего не исправлять, поскольку изменения «ломающие».Shtucer
22.08.2016 10:10Если уж на то пошло, то введение этих алиасов уже было «ломающим». Только не совместимость с PowerShell, а с уже работающим инструментом. Кого это заботило?
Scf
20.08.2016 11:37+6Дикость какая-то. Обратная совместимость софта — это основа бизнеса Майкрософт и, не побоюсь этого сказать, одна из основных причин коммерческого успеха Windows. Многие программы, написанные для win95, до сих пор запускаются и работают. Это вам не линукс, где после выхода новой убунты счастливые владельцы видеокарт AMD остались без качественных драйверов, т.к. разработчики иксов изволили поломать обратную совместимость при выходе новой версии.
wholeman
20.08.2016 11:43+8Не путайте драйвера с программами. У меня есть несколько довольно дорогих железок, которые внезапно перестали работать с обновлением Windows, потому что никто не озаботился разработкой новых драйверов.
ZogG
20.08.2016 12:22+5Поэтому у меня принтер hp p1005 под восьмеркой ти десяткой перестал работать, в линуксе все ок.
alexrus
20.08.2016 14:25-1Надеюсь, когда скачали драйвера, заработал?
kin63camapa
21.08.2016 11:53под x64 некоторых драйверов на старые призраки не существует, хорошо если принтер окажется совместимым с чем-нибудь типа PCL5/6.
alexrus
23.08.2016 12:56Я бы не стал комментировать, если бы не знал, что этот принтер прекрасно работает под win 8 и 10. Про некоторые другие принтеры здесь речи не велось. Но таких тонкостей не понять всем комментирующим/минусующим.
nightwing666
20.08.2016 15:00+1Вообще-то это из-за того, что amd отказываются от fglrx и переходят на amdgpu-pro. Вполне логично отказаться от поддержки deprecated драйвера, не?
Ну и то, что новая версия ос требует драйверов, поддерживающих эту версию — норма. У меня например espon prefection 660 под десяточкой не заводится(последние драйвера были по xp).Scf
20.08.2016 15:44За amdgpu-pro — отдельное спасибо. Я думал, что amd просто забросили разработку fglrx и оставили линуксоидов с опнсорсным radeon. По теме — в том же Windows нормально написанные драйвера становятся несовместимыми только при радикальном изменении ядра ОС.
Но дело даже не в этом — автору wget-а можно порекомендовать попробовать внести несовместимое изменение в собственную утилиту, а уже потом рекомендовать такое поведение другим.
splav_asv
20.08.2016 22:45+2Зачем появился amdgpu-proАМД радикально сменила модель разработки драйвера для Linux — и закрытый и открытый(amdgpu) драйвера используют общий ядерный модуль. Разные теперь только userspace части. Если раньше была проблема после выхода нового ядра завести fglrx, теперь проблема ушла, появилось другое мелкое неудобство: минимальная версия ядра, поддерживаемая данной версией драйвера.
celebrate
20.08.2016 15:13+2Видимо вы не сталкивались с необходимостью поставить драйвера для какого-нибудь старенького Xeros Phaser даже под Windows 7. Приходится немного ковыряться в HexEdit. В Линуксе все отлично работает. Так что случаи бывают разные.
А про Ubuntu и обратную совместимость — это плохой пример. Там ребята уже давно и осознанно сделали свой выбор по части обратной совместимости.
Melanxolik
20.08.2016 13:38-7Ждем с нетерпением дня когда powershell будет интегрирован в systemd, вот действительно настанут по истини замечательные дни. Но по факту, складывается впечатление что MS неосилила Bash когда запихивало ядро в свою Win10, по этой причине решила запихнуть свой powershell в экосистему Linux.
Laney1
20.08.2016 23:16+2складывается впечатление что MS неосилила Bash когда запихивало ядро в свою Win10
кстати, быль по теме. На днях загрузился в Windows, и в какой-то момент там выскочило черное консольное окно. Подумал, что это какая-нибудь малварь и уже хотел закрыть, но — оказалось, это apt-get обновляет репозитории по расписанию из местного
/etc/apt.conf.d/
. А вы говорите, какой-то баш не осилили))Alex_ME
21.08.2016 01:41Видел несколько раз то же самое, думал то же самое, ничего не нашел. Спасибо Вам!
alsii
23.08.2016 21:58А я то ребенку чуть голову не открутил, опять мол какую-то гадость принес. А вон оно что… Пошел прикручивать голову обратно :-)
BOBS13
20.08.2016 14:42+8Я вот не понимаю этой массовой истерии с выходом PowerShell под Linux. Никто не заставляет ем пользоваться и bash никто из Linux не удалит:) Все прекрасно знают зачем он вышел, что бы удобнее было админить .Net core приложения.Nu-get пакеты удобнее разворачивать сразу на 2-х ОС. Конечно, желательно, что бы 1 команда работала на Linux и Windows одинаково.
stepik777
20.08.2016 19:20Всё это не имеет никакого отношения к linux, эти алиасы присутствуют только на винде.
novoxudonoser
20.08.2016 22:22Некоторые скептически относятся к стратегии «Microsoft любит Linux»
только если большинство это некоторые
Laney1
20.08.2016 23:32+4кстати по теме, в данном случае поведение PowerShell ничем не отличается от поведения, например, bash. Например, bash подменяет стандартную утилиту
time
собственным скриптом с сильно урезанными функциями. Сравните вывод двух команд:
time -f'%E' ls /usr/bin/time -f'%E' ls
при этом, гневных пулл реквестов и скандальных статей с сотнями комментов по этому поводу что-то не видать))
Delphinum
21.08.2016 01:09А вы обратитесь к автору утилиты time с этим вопросом. А хотя нет, не получится.
wholeman
21.08.2016 14:05+3Отличается и довольно сильно.
time
— стандартая команда, авторы bash имеют такие же права на её реализацию, как и авторы отдельной утилиты, тогда какcurl
иwget
— названия оригинальных программ.Laney1
21.08.2016 20:00авторы bash имеют такие же права на её реализацию, как и авторы отдельной утилиты
предъявите конкретный пункт лицензии на curl, по которому такого права нет у разработчиков PS
wholeman
21.08.2016 22:08А при чём здесь лицензия-то? Юридически они могут это делать. Можно также сделать свои bash, ffmpeg, g++ и т.д. (насколько я знаю, они не зарегистрированы, как торговые марки). Но приличные люди так не поступают.
Laney1
21.08.2016 22:26+1в первую очередь приличные люди не превращают мелкую, не стоящую выеденного яйца фичу в тему троллинга (довольно жалкого, надо сказать) и холиваров. Это именно то, чем вы тут занимаетесь вслед за автором curl.
Delphinum
22.08.2016 00:27в первую очередь приличные люди не превращают мелкую
А как связан троллинг и холивар с тем, что «приличные люди не использую чужих названий»? Одно должно оправдать другое или что? Вы попали в логическую ловушку, это не страшно, главное быстро из нее выбраться )VoidEx
22.08.2016 02:33Мысленно добавьте перед сообщением «нет, ». К тому же аналогия неверная, они не сделали curl и wget, нет у МС такой программы, это алиас, который работает только внутри powershell. Это как если в языке программирования назвать некую команду wget'ом (кстати, нет чего-то такого в perl'е например?).
Delphinum
22.08.2016 11:46они не сделали curl и wget, нет у МС такой программы, это алиас
Это не важно, они использовали название чужой программы. Я уже приводил примеры с MS Office Word по этому поводу.
кстати, нет чего-то такого в perl'е например?
Perl это не продукт MS, нам, холиварщикам, этого достаточно.
muon
22.08.2016 01:30Это да, долго думал, почему man time не подходит к time.
Кстати, вместо полного пути можно \time.
fedorro
21.08.2016 07:42С одной стороны это может доставить неудобства, но с другой стороны можно хоть урезанные версии curl-a и wget-а вызывать без необходимости их установки. Эти алиасы же отключить можно, можно свою версию PS-а собрать, которая вместо этих алиасов выполнит нужные утилиты, да ещё и скачает их, при необходимости.
dmitry_ch
22.08.2016 13:30-1«Добрые» люди, сами себе подгадили: теперь даже те, кто хотя бы потенциально думал, не пощупать ли PowerShell, будет в голове держать, что совершенно бесплатно можно себе отгрести много неприятных минут на отладке еще вчера работавших скриптов. Не говоря уже, что даже если «сегодня-завтра» тему решат, убрав проблемные алиасы, можно догадаться, что в будущем такое «упущение от MS» может случиться и с какими-то другими алиасами — прилетело тебе обновление PowerShell через стандартный механизм обновления, и где-то в системе поломался полезный скрипт.
Сурово они пошутили!
KennyGin
Для тех, кто не в курсе: EEE
xRay
Adobe предугадали развитие событий. А Microsoft видимо по этой причине пришлось запилить XPS.
serg65535
Занятно, что в OS X поддержка PDF встроена на низком уровне и это никак не отражается на поулярности Adobe-продуктов на маках, где Adobe Reader – в большинстве случаев не нужен, но ведь и так бесплатный. А то, что можно делать PDF из любой программы – так и в Windows можно добавить какой-нибудь CutePDFWriter, а Office так и вовсе умеет нативно сохранять PDF. Маловероятно, что юзер, которому иногда нужно раз в месяц донести из дома до принтера в офисе несколько PDF для печати пойдёт покупать Acrobat CC. А на большее встроенна поддержка создания/отображения документов и не претендует. Не воплне понимаю, чего они в Adobe так боятся.
P.S.: По-совести, Adobe Reader настолько перегружен визуальным мусором в интерфейсе, что я могу понять Microsoft/Apple в их желании сделать свой просмотровщик для простых людей, в котором будет удобна главная функция – максимально крупно показать печатную страницу с возможнотью листать и искать.
staticlab
Того, что встроенный генератор PDF будет генерировать его не в полном соответствии со спецификацией. В результате, если какой-то программист будет использовать API генерации PDF в своей программе, то полученные файлы можно будет полноценно прочитать только на Windows её средствами.
dmitry_ch
Так разговор про встроенную поддержку просмотра, а не создания через системный API.
А как сами товарисчи из Adobe себя «культурно» ведут, так не сказать, что Microsoft хуже или лучше по подходу. Ладно бы Acrobat Reader был просто «бесплатный», но не менял своего поведения никогда — т.е. юзеры привыкли, и пользуются (закроем глаза на неудобные хоткеи, на толщину установщика — ну не умеют они лучше, что сделать?). Самое неприятное, что UI постоянно и совершенно неконсистентно меняется с выходом новых версий.
Последнее время при открывании любого pdf-файла на просмотр справа видим панель с «очень нужными» командами, вроде «Экспорт PDF» и пр., которая, хоть и может быт закрыта, при следующем открывании любого pdf опять видна. При постоянно работе с pdf это очень заметно: я не для того покупал экран такой ширины, чтобы Adobe занимали его своими ненужными мне кнопками, а закрывать каждый раз панель неудобно. Конечно, я буду думать, есть ли альтернативы этому UI-поделию.
Да, кстати: в любой случайно юзерской системе на базе Windows (особенно если человек не сильно гик) в трее постоянно видим значки: «обновите Java» и «Обновите Acrobat Reader». Порой такое обновление, несмотря на обещания ничего не ухудшать, может изменить работу юзера. Остается только блокировать (запретить запускать) эти утилиты обновления, что, безусловно, контрпродуктивно в смысле безопасности, но полезно для спокойствия нервов.
Вывод: Adobe своими руками делает так, чтобы ее софт не хотелось использовать. А уж будут они запрещать или нет встраивать в систему просмотрщик ими предложенного формата — дело десятое: как бы клином свет не сошелся на этом формате, альтернативны есть.
mayorovp
Ну, "обновите Java" — это все же не к Adobe, а к Oracle. С ним, кстати, отдельное веселье: со времен Vista так и не поменяли в алгоритме работы с UAC два шага.
Какие?
dmitry_ch
Вы не знаете ни одной, или пробовали, но они вас чем-то не устраивают? В любом случае, варианты есть — http://alternativeto.net/software/adobe-reader/
По мне так Foxit Reader отлично делает все, что требуется, хотя вот Sumatra PDF предлагает поддержку не только pdf, но и ePub, MOBI, XPS, DjVu, CHM, CBZ и CBR — куда лучше, чем под каждый формат ставить свой просмотрщик, особенно когда его авторы так к размеру свего детища на диске юзера относятся, как Adobe.
mayorovp
Подождите, вы говорили по альтернативу формату, а не Acrobat Reader!
daggert
Foxit Reader «замечательно» работает с заполняемыми формами. Заполняя такие поля для консульства — я попал на 30€, так как он их не сохранил.
VoidEx
Reader же, а не Writer :)
Taciturn
> которая, хоть и может быт закрыта, при следующем открывании любого pdf опять видна
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\DC\AVGeneral]
"bExpandRHPInViewer"=dword:00000000
"bRHPSticky"=dword:00000001
dmitry_ch
Спасибо, не знал, буду пользоваться!
P.S. Трудно им было в программе, которую они позиционируют как «дефолтный» просмотрщик для pdf, либо не делать эту шторку (ибо не нужна она для просмотра), либо хотя бы состояние закрытости запоминать между открываниями разных документов?
GlukKazan
Похожая игра существует. Собственно, под её влиянием и протекала разработка. Самому делать картонную настолку? Вряд ли. Слишком много мороки. Но если кому-то захочется — я только за. Окажу всяческое содействие.
mayorovp
Динамика в строке ИТОГО? Надеюсь, хоть не от даты там была зависимость? :)
wholeman
Теперь можно говорить, что любовь Microsoft к Linux так же фальшива, как их curl. Вероятно под этим словом они тоже подразумевают что-то своё, возможно, как раз «Embrace, Extend, and Extinguish».
Mixon_McLaren
Почему все так громко говорят о захвате линукса? всё что делают мелкомягкие — это дружба с убунтой, что приводит к возможности порта на другие системы с ядром линукса. Если и есть планы ЕЕЕ у МС, то только на компанию Каноникал, потому что среди юзер-френдли дистрибутивов нормальные только у каноникалов. Да и что тут гадать? не нравится — не пользуйтесь, нужно быть эгоистом и не думать о том, что другие окажутся неправы и пострадают.
Лично моё мнение: мне кажется что вся вот эта белеберда с переходом на опенсорс и трансформированием под линуксы лишь первые шаги на пути к новому дистрибутиву Виндоуз, и в мире будет только линукс.
Laney1
насколько я помню, любители вворачивать эту аббривеатуру также непременно добавляют "… и мы уже находимся в фазе Extend", вот уже лет 10 как (если не 15-20)
Delphinum
AOL об этом расскажите.
Laney1
каким боком корпоративные дела 20-летней давности относятся к современному опенсорсному софту? Честно, свидетели EEE мне с каждым разом все больше напоминают свидетелей Иеговы, или кто там любит расуждать про завтрашний конец света
Delphinum
Недобросовестная конкуренция. Это так называется.
Факты остаются фактами и через 20, и через 100 лет.
Laney1
PS распространяется под обычной лицензией MIT, если кому-то что-то не нравится — возможность форка всегда доступна. Опенсорс именно так и работает, если вы не в курсе
Delphinum
Круто, только никто не запрещает MS выпускать новую функциональность для PS под другой лицензией, как только наберется критическая масса пользователей продукта. Именно так и работает концепция EEE.
Laney1
не нравится лицензия MIT — форкните и смените ее на GPLv3, опять же не вижу никаких проблем
Delphinum
При чем тут лицензия? Я вам говорю, как работает EEE, а вы мне о форках репов.
Laney1
при том, что возможность пользования тем или иным софтом определяется именно его лицензией, а не заговорами корпораций, планами Даллеса, протоколами сионских мудрецов, или что там еще напридумывали конспирологи.
Delphinum
Эхх… Опять удальцы хабра…
Концепция EEE довольно проста в понимании. Идея ее в том, что компания реализует некоторый функционал на базе популярного и открытого стандарта (если его можно так называть), стараясь полностью его повторить. Дабы пользователи не пугались, это решение делается так же открытым и свободным. Это первый этап в трех E. После компания начинает модернизировать и улучшать этот стандарт, но все эти улучшения выпускаются под другой, закрытой лицензией. Этот этап служит для увеличения числа пользователей, так как решение компании превосходит по функциональности базовые возможности других реализаций этого стандарта. Это вторая E. Затем компания либо закрывает все исходные коды своей реализации, либо накапливает такой объем новой, закрытой функциональности, что это становится равноценно полной смены политики распространения всего решения. При этом объем пользователей решения компании должен перевалить через какую то критическую планку, дабы они не могли просто взять и разбежаться, вернувшись к первоначальному стандарту. Это третий этап трех E, который и уничтожает изначальный стандарт, заменяя его улучшенным, но закрытым (проприетарным).
Каким местом форк реализации открытого стандарта (не проще в этом случае просто использовать уже имеющиеся реализации этого же стандарта?) решит проблему концепции EEE?
lam0x86
Простите, это опять я, один из «удальцов».
Если не сложно, ответьте на пару вопросов:
1) за последние 5 лет были ли подобные шаги со стороны MS?
2) не кажется ли вам, что концепция развития компании могла в корне измениться?
Delphinum
Нет не кажется. Если компания один раз позволила себе такое, нет гарантии что она не позволит себе это второй раз. Репутация потерять очень просто.
lam0x86
С того времени прошло много лет, и рынок серьезно изменился. Когда-то MS была корпорацией номер один, сейчас они в ситуации догоняющих. Когда-то они могли действовать в соответствии с ЕЕЕ, но сейчас видно, что такая политика провальна (просто исходя из финансовых отчётов).
«Думаете в Маленькомсофте сидят дураки?»
Delphinum
MS убил скайп, о чем тут еще может идти речь? Сделано это было не так давно.
daggert
А скайп продали от хорошей жизни? Неповоротливым го*ом он стал тоже после перехода в лохматые лапы M$?
Delphinum
От хорошей цены, я думаю.
Именно так.
daggert
Вы забываете видимо очень быстро историю. Скайп стал подвешивать загрузку системы задооооооооооолго до продажи майкам.
https://habrahabr.ru/post/118980 конкретно пост про продажу. Перечитайте комментарии.
И продали его отнюдь не от хорошей цены, а от угасания популярности клиента. WhatsUp и Viber вытеснили неповоротливого гиганта, который подвешивал что мой компьютер, что мой телефон.
Delphinum
А при чем тут подвешивание системы? Я о функциональности говорю, в частности: видеозвонок в групповом чате, передача файлов без web-сервиса, шаринг рабочего стола и т.п. Раньше это прекрасно работало на моей Ubuntu, сейчас это отвалилось. Подвешивание загрузки я вообще никогда не замечал и сейчас не замечаю.
Не важно почему продали, важно что под Linux старая функциональность отвалилась, а под Windows продолжает работать (вроде, не знаю как там сейчас). Если MS не хочет заниматься онным под Linux или вообще под любую ОСь, пусть уж «слезут с мертвой кобылы».
daggert
>Если MS не хочет заниматься онным под Linux или вообще под любую ОСь, пусть уж «слезут с мертвой кобылы».
Это их софт. Если они захотят — они могут его оформить в стиле my little pony и будут иметь на это полное право. А вы, как пользователь, можете либо создать альтернативу, по своему вкусу, либо не просто пользоваться.
>Не важно почему продали, важно что под Linux старая функциональность отвалилась, а под Windows продолжает работать
Они целиком переписывают старый, баганутый и костыльный клиент, который работал хуже чем мои скрипты на баше.
Ваша первоначальная претензия была:
>MS убил скайп, о чем тут еще может идти речь?
Дык вот убил ее не майкрософт, переписывая легаси код, а сама фирма скайп, которая пропустила все полимеры, загнав себя в угол и, поняв что они катятся к чертям — продала загнивающую платформу. Не переиначивайте.
Ramires
Вы рассуждаете с точки зрения Майкрософта или пользователей?
С моей точки зрения ( пользователь Skype под Linux ) Skype после продажи стал хуже. У меня в этом месяце банально исчезла куча чатов. Я в них как бы нахожусь ( с точки зрения других участников ), но сообщения там не вижу.
daggert
Я рассуждаю именно как пользователь, который отказался от скайпа и перевел всех родственников с него еще в 2010 году, когда он начал подвешивать мою windows 7 на 10 секунд после старта. Находка Миранды для меня была как глоток свежего воздуха, а приход всяких вайберов/ваззапов добил интерес моих родственников к программе уже в 2011 году. К слову сказать тогда-же и VK выпустил видеозвонки, и их лично мне стало достаточно.
Почему я еще не могу рассуждать с точки зрения майков: Я не люблю скайп, от слова совсем.
У вас чаты исчезли в старой версии, или в альфа?
Ramires
Теперь Ваша позиция ясна))
На работе он, к сожалению, всё еще используется
Не понял вопроса, я думал, что только одна версия есть — в официальном репозитории ( как я понял, с www.skype.com качается она же )
У меня стоит как раз версия из репозитория
daggert
Це-ж альфа версия. Ждем-с релиза.
Delphinum
Потому я и говорю, что именно MS убила Skype. Прежние владельцы тоже «могли», но этого не допускали.
Ниче так вы выводы сделали ) У меня все прекрасно работало, да и не встречал я людей в своем окружении, у кого были бы проблемы со старой версией скайпа.
При которой все прекрасно работало и (я думаю) продолжало бы работать. При MS же, работать перестало, что является фактом, а не теми вымыслами, которыми бросаетесь здесь вы.
daggert
Компанию так просто не продают. Вы не можете сейчас придти к правлению Твиттера и сказать «покупаю», для этого надо предоставить аналитику падения акций, с этим должны быть согласны как минимум владельцы. Я вам напомню что Скайп вышел в 2010 на биржу для привлечения инвестиций, а это уже плохой звоночек для «нормально-работающей компании». https://habrahabr.ru/post/118980/ вот новость сразу после продажи, где есть комментарий о хреновой версии для линукса: https://habrahabr.ru/post/118980/#comment_3882805, которую потом, уже майки, допилили.
Либо корабль утонул, и его продают на металлолом (лицензии и технологии), либо, если он еще ходит, и его продают в более хорошие руки. У скайпа был второй вариант. Продали его когда рынок начали захватывать Вайбер и Ваззап, в 2011.
Delphinum
Вы не можете или не хотите понять, что ваши аргументы не имеют в контексте нашего диалога смысла. Не важно, почему был продан скайп. Я не исключаю, что если бы он не был куплен MS, он бы помер (что, кстати, я считаю лучшим исходом, нежели то, что происходит с ним сейчас), но это не важно. Важно то, что до покупки компании скайп работал, возможно под капотом у него бурлили говны и все работало только за счет костыле, это не важно, оно работало. После покупки работать перестало, при чем только на Linux. Это факт из которого легко можно вывести то, что MS не нужен Linux от слова совсем, так как в противном случае, такого исхода на этой платформе у скайпа бы не было. Либо MS не умеет писать под Linux, либо им не хочется тратить на него время (я склоняюсь ко второму), но в любом случае результат один: скайп остается довольно популярным решением среди пользователей, но при этом он перестал нормально работать на Linux сразу после покупки его MS.
Neftedollar
Есть множество других свидетельств, что им он нужен: .net core, MS SQL SERVER for Linux, VSCode и т.д. или вы только по работае скайпа измеряете MS <3 linux?
Neftedollar
под моим линуксом, вся старя функциональность Skype у меня работает до сих пор.
phoenixweiss
Поддерживаю. Под видом развития продукта мы не получили ничего принципиально нового кроме неубираемой рекламы. Хорошо хоть под OS X все чуть получше, но качественно продукт уступает тому же десктопному Viber-у, и пользуются скайпом как раз из-за этих трех E — все клиенты, партнеры и подрядчики на скайпе сидят, тут хочешь того или нет — пользуйся.
Та же история с M$ Office и другими популярными продуктами, которые начинают совсем плохо себя вести аккурат после того как займут хоть на 1 процент большую долю рынка чем конкурент.
Поэтому идея «Любви в Линуксу» от M$ выглядит как гримирование волка в овцу. В этой статье как раз первая нотка второй E уже проявилась. Сделают потом свой какой-нибудь wcurl в качестве альтернативы, который на самом деле будет запускаться и по wget и по curl а потом только самому гейтсу известно что они могут сделать.
Laney1
казалось бы, вы не можете не знать, что для софта под лицензией GPLv3 никакие «улучшения под другой, закрытой лицензией» не возможны. А так как софт с открытыми исходниками всегда лучше софта с закрытыми, то такой форк очень быстро станет популярнее оригинала и заставит Майкрософт чесать голову и говорить «воу воу, полегче».
Delphinum
А GPLv3 там нет, используется MIT. Форк тут не поможет, так как новые возможности будут создаваться MS у себя, а не у вас в репозитории.
Продукция компании JetBrains проприентарна и закрыта, это не делает другие IDE с открытыми исходниками популярными.
mayorovp
Да при чем тут Powershell? Powershell был выложен в открытый доступ самой MS, и уж точно не затем чтобы потом с трудом его из открытого доступа изымать.
Тут опасаются, что стратегия EEE будет применена к ОС Linux. Но ядро-то linux как раз идет под GPL, а не под MIT!
Delphinum
А зачем его из открытого доступа изымать? Да и какой в этом труд?
mayorovp
Вот и говорю — незачем
Delphinum
Перечитайте несколько раз. Если не поможет — забейте.
alsii
Не "уничтожает первоначальный стандарт", а предлагает
улучшеннуюдополненную новой функциональностью, но проприетарную альтернативу. Концепция проста, но основана на простой психологии. Будем менять психологию или… запатентуем стандарт и будем сами решать, кому можно его менять, а кому нет? "Чтобы победить дракона нужно стать драконом, а значит дракон непобедим".EviGL
Форк, как правило, не помогает. Беда не в открытой части, а в её зацеплении за закрытую.
Как во времена власти IE, все могут писать для веба, но запустить ActiveX не на IE — обломитесь. А все радостно кинулись на этом ActiveX писать горы корпоративных порталов и банк-клиентов, потом было очень больно слезать.
Сейчас вроде как народ уже пуганый и такая тема не прокатит. Не думаю, что кто-то в здравом уме будет разрабатывать под расширения powershell с закрытыми исходниками (даже если они пока ещё поддерживаются под Linux).
daggert
Зато есть люди, в здравом уме, разрабатывающие приложения webkit-only. Новый IE.