kochetkov.vladimir однажды (27 июня 2008 [Пятница] 12:17) писал в rsdn.flame.comp:
> Шеридан, третий раунд играть будем, или и так — уже каждый свои выводы сделал и все понял? Если будем — закину условия задачи.
Давай-давай. Я за то, чтобы этот топик жил вечно, во первых тренировка, а во вторых остальным полезно.
Здравствуйте, Sheridan, Вы писали:
S>Лезеш в ядро, ищеш исходник драйвера видеокарточки, открываеш в редакторе и правиш в нужную сторону до того момента, пока не покажется, что все что мог — сделал.
Покажи плиз место в ядре с *твоими* изменениями. Для примера, а то местные горе-программисты просто не знают что делать
S>Потом делаеш diff и отсылаеш в багтрак ядра. S>Все довольны и тебе говорят спасибо.
Неее, сначала проверят, а уж потом спасибо
А как бы отнесся у юзерам (которых ты админишь), если б каждый себе по-своему ядро переделал? (да так, что у тебя потом какой-нить важный патч не накатится на него)?
И еще, такое подправленное ядро (да и не только ядро) ну нафиг не сгодится, когда напрограммированный на нем софт (раз уж ты на программистов наехал) вдруг будет падать у кастомера а у тебя не будет. Потому что твой традиционный аргумент "у меня работает. что я делаю не так?" сгодится разве что для приказа о твоем увольнении
Здравствуйте, Sheridan, Вы писали:
S>Давай-давай. Я за то, чтобы этот топик жил вечно, во первых тренировка, а во вторых остальным полезно.
учитывая что с башем и т.п. большая часть тутошних зрителей все же знакома, можно подумать что тебе этот топик нужен для раскрутки powershell'a. что в очередной раз доказывает
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>Да? В баше можно дергать любые .so и сборки mono?
Как нефиг делать Пишешь скрипт, который генерит сишную обертку и тут же вызываешь компилятор Сразу скажу что компилятор у меня взялся примерно оттуда же, откуда ты взял моно (который имхо вообще тут чужеродное тело).
kochetkov.vladimir однажды (27 июня 2008 [Пятница] 12:14) писал в rsdn.flame.comp:
> А мне что делать? Нет, я серьезно... У меня вот на ноуте PCMCIA EDGE-модем в линуксе глючит, я уже писал об этом. Навыков программирования драйверов под линукс — у меня нет, тема > — слишком серьезная для меня как для непрограммера, чтобы заняться ее изучением ради настройки модема. Что делать-то?
нанять программиста, если сильно важно.
изучить самому, если важно
ждать если неважно
забить если пофиг
В том-то и дело, что:
S>нанять программиста, если сильно важно.
Нанять? Kernel-программера под linux? Разве что только если потом этот драйвер продавать, ибо иначе никак не окупится.
S>изучить самому, если важно S>ждать если неважно
Зачем, если уже сейчас есть работающие альтернативы?
S>забить если пофиг
Да вот я и забил, оставшись на xp. А если бы не этот досадный факт — я бы на ноуте давно на linux перешел по ряду причин. А пока — приходится SUSE под виртуалкой гонять
>> — слишком серьезная для меня как для непрограммера, чтобы заняться ее изучением ради настройки модема. Что делать-то? S>нанять программиста, если сильно важно. S>изучить самому, если важно S>ждать если неважно S>забить если пофиг
Если сильно важно, будет установлена винда И к лени это не имеет никакого отношения. Мне платят совсем не за патчинг ядра линукса И системное программирование меня не интересует совсем.
Здравствуйте, Roman Odaisky, Вы писали:
RO>// кстати, раз мы в КСВ, хотелось бы увидеть аналогичный код на WinAPI
Форк только эмулируется, это особенность вындоуса. Экзек не замещает процесс, а создает новый и это тоже особенность.
Перенаправление есть, только чуток побольше писанины.
RO>Типичная юниксовая система (основанная на SysV init, т. е., почти любая, даже Ubuntu с ее upstart) исполняет при загрузке несколько сотен шелловых скриптов для запуска нужных программ. PowerShell бы для этого не подошла. (Скрипт «#!/bin/sh \n ls 404» выполняется 4 мс; а аналогичное на PowerShell?) Она больше годится для скриптов покрупней, но только зачем нужны крупные скрипты на шелле?..
На вындоусе совсем другой подход к склейке программы из кусочков. Там есть технология COM, которая уже мутировала несколько раз.
Вындоус это система для тупых энд-юзеров вроде меня, а не для людей которые проводят в ОС все время
kochetkov.vladimir однажды (27 июня 2008 [Пятница] 13:39) писал в rsdn.flame.comp:
> Нанять? Kernel-программера под linux? Разве что только если потом этот драйвер продавать, ибо иначе никак не окупится.
вот и я об чем и говорил ранее. В голове мысли только о бабле.
KV>Путь можно было бы пролистывать "C:<Tab-Tab-Tab...>", вторую команду можно было бы не набирать заново, а нажав стрелку вверх вернуть предыдущую команду и откорректировать ее и т.д. и т.п. В чем тут PS проигрывает zsh?
И так далее. Из мелочей: если ты находишься в /var/www/dev.mysite.com, то cd dev www отправит тебя в /var/www/www.mysite.com. cd ../<Tab> покажет все директории, кроме той, в которой ты и так находишься. Есть исправлялка ошибок, но я ей не пользуюсь.
Короче, zsh дополняет всё по Tab. Т. е., совсем всё, включая ключи популярных программ.
RO>>если мало программ имеют вывод, годный для переадресации в другие программы? KV>Хм... KV>$ipstring = ipconfig.exe | select-string "IP-" | select-object; $ipstring.ToString().Split(":")[1].Trim() | echo KV>- выведет IP первого интерфейса, полученный из стандартной ipconig.
KV>И? :xz:
Всё равно мало.
RO>>Вывод: PowerShell — это видоизменение C# путем смены синтаксиса, добавления интерпретатора и интерактивного режима, цель чего избегает моего понимания.
KV>"это видоизменение C# путем смены синтаксиса" — это сильно. Синтаксис паскаля тоже можно доработать напильником, чтобы perl получился :))) Цель создания PS — дать возможно полноценно управлять ОС из командной строки, как в интерактивном режиме, так и из сценариев.
Я к тому, что от шеллоподобного синтаксиса толку ноль. Как интерактивная оболочка она не очень-то и удобна, а Шеридан давно уже сказал, что если для обычной работы используется одно, а для сценариев — другое, жди багов. И он ведь прав.
P. S. Идея PS — обмен бинарными объектами вместо текста — хорошая, хоть и не новая. Реализация — не очень.
P. P. S. Хорошо бы приделать S-выражения к юниксовым утилитам. Тем более, что дело-то нехитрое, и интерактивности ничуть не вредит:
~ :) ls /
bin cdrom etc initrd lib media opt root srv tmp var
boot dev home initrd.img lost+found mnt proc sbin sys usr vmlinuz
~ :) ls --hypothetical-sexp /
(bin cdrom etc initrd lib media opt root srv tmp var
boot dev home "initrd.img" "lost+found" mnt proc sbin sys usr vmlinuz)
Здравствуйте, Sheridan, Вы писали:
S>kochetkov.vladimir однажды (27 июня 2008 [Пятница] 13:39) писал в rsdn.flame.comp:
>> Нанять? Kernel-программера под linux? Разве что только если потом этот драйвер продавать, ибо иначе никак не окупится. S>вот и я об чем и говорил ранее. В голове мысли только о бабле.
Шеридан, ты это... На досуге поинтересуйся — во сколько обойдется заказная разработка драйвера под закрытое устройство, прежде чем советовать такое, а потом рассуждать об алчности собеседника, ага?
Здравствуйте, Sheridan, Вы писали:
S>kochetkov.vladimir однажды (27 июня 2008 [Пятница] 13:39) писал в rsdn.flame.comp:
>> Нанять? Kernel-программера под linux? Разве что только если потом этот драйвер продавать, ибо иначе никак не окупится. S>вот и я об чем и говорил ранее. В голове мысли только о бабле.
Потому что:
— мы живем в реальном мире, а кушать хочется (hint: основные разработчики под линукс работают на совсем нехилых зарплатах, нахаляву горбатиться никто не хочет)
— мы живем в реальном мире, в котором жизнь ой как коротка, и тратить время на вещи, тебе абсолюно неинтересные или требуемые тебе максимум раз в жизни с неясной отдачей, совсем не хочется. Хочтся пить пиво, рожать детей, смотреть футбольные матчи и т.п. (а на это все, кстати, тоже нужны деньги )
— мы живем в реальном мире, в котором нам платят за то, на что нас нанимали. Если меня наняли разрабаывать веб-приложение на Coldfusion, мне никто и никогда не заплатит за патчинг ядра линукса. Из чего следует подпункт:
-- если мне не платят на работе за патчинг линукса, я должен буду этим заниматься в свободной время. Я, знаешь, лучше про типы рекурсии
почитаю. От этого мне, как программисту, будет намного больше пользы, чем ковыряние в кишках системы. Или пойду, жирок в бассейне сгоню (а на бассейн опять же нужны деньги ).
Здравствуйте, Ikemefula, Вы писали:
RO>>// кстати, раз мы в КСВ, хотелось бы увидеть аналогичный код на WinAPI
I>Форк только эмулируется, это особенность вындоуса. Экзек не замещает процесс, а создает новый и это тоже особенность. I>Перенаправление есть, только чуток побольше писанины.
Я знаю, как работает CreateProcess. Там где-то есть три хендла для перенаправления stdin, stdout, stderr. Просто было бы интересно взглянуть на готовый код.
fork/exec вообще позволяют делать много интересных вещей. Передавать большее количество дескрипторов, например (if(fork() == 0) { int fd = getSomeFile(); exec("myprogram", "--file", "/dev/fd/" + fd); }).
Никого не смущает, что CreateProcess имеет в общей сложности 35 параметров, в то время как fork — 0, а exec — 3 (имя, аргументы, окружение)? К примеру, там есть особый параметр для задания текущей директории, в то время как Unix way — попросту fork, chdir, exec.
Ну да ладно, это из другого флейма :-)
RO>>Типичная юниксовая система (основанная на SysV init, т. е., почти любая, даже Ubuntu с ее upstart) исполняет при загрузке несколько сотен шелловых скриптов для запуска нужных программ. PowerShell бы для этого не подошла. (Скрипт «#!/bin/sh \n ls 404» выполняется 4 мс; а аналогичное на PowerShell?) Она больше годится для скриптов покрупней, но только зачем нужны крупные скрипты на шелле?..
I>На вындоусе совсем другой подход к склейке программы из кусочков. Там есть технология COM, которая уже мутировала несколько раз.
Угу.
I>Вындоус это система для тупых энд-юзеров вроде меня, а не для людей которые проводят в ОС все время
Энд-юзеру и в линуксе не обязательно рыться где-нибудь в глубинах. Могут возникнуть проблемы с аппаратным обеспечением, для решения понадобится один визит знакомого бородатого админа. А дальше всё и для простого юзера вполне прилично работает.
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>Шеридан, третий раунд играть будем, или и так — уже каждый свои выводы сделал и все понял? Если будем — закину условия задачи.
Лучше распей с Шериданом обещанный баттл, он тебе напишет драйвера для твоего модема, ты поставишь себе линукс, будешь здесь хвалить *sh и ругать PowerShell в частности и Майкрософт вообще, все будут счастливы, твоя компания станет сверхзащищена от всех вирусов и хакеров, на RSDN поменяются default city и default OS. Чего же ты хотел, виндекапец всё-таки.
Здравствуйте, Roman Odaisky, Вы писали:
RO>Просто несколько маленьких примеров:
RO>cd ../<Tab> покажет все директории, кроме той, в которой ты и так находишься.
В стандартной PS-консоли cd ../<Tab> работает также, кроме пропуска текущего каталога.
RO>Короче, zsh дополняет всё по Tab. Т. е., совсем всё, включая ключи популярных программ.
PS — дополняет по Tab все, что относится к его инфраструктуре (командлеты, алиасы, команды, сценарии, ключи для всех них, помощь и т .п.).
RO>>>если мало программ имеют вывод, годный для переадресации в другие программы? KV>>Хм... KV>>$ipstring = ipconfig.exe | select-string "IP-" | select-object; $ipstring.ToString().Split(":")[1].Trim() | echo KV>>- выведет IP первого интерфейса, полученный из стандартной ipconig.
KV>>И?
RO>Всё равно мало.
Зачем больше, если для этого есть более удобные средства?
RO>Я к тому, что от шеллоподобного синтаксиса толку ноль. Как интерактивная оболочка она не очень-то и удобна,
Ром, лично ты — администрировал windows-сеть из этой оболочки? Просто интересно, читал ты "Пастернака" или нет...
RO>а Шеридан давно уже сказал, что если для обычной работы используется одно, а для сценариев — другое, жди багов. И он ведь прав.
А, ну раз Шеридан сказал... Я не знаю, что там использует Шеридан. Но и в интерактивном режиме и в режиме сценариев — работа с PS достаточно комфортна. Комфортнее всех, имевшихся ранее аналогов под виндой. Если же хочется чтобы было еще комфортнее — есть куча сторонних хостов для PS, в т.ч. и бесплатных, в т.ч. и открытых. Начиная с плагинов для фара и альтернатив виндовой консоли, и заканчивая полноценными IDE (с возможностью как интерактивной работы, так и написания и полноценной отладки сценариев) — powershell plus, например. Там вообще тотальный intellisense, подсвечивание синтаксиса и ошибок, установка точек прерывания, пошаговое выполнение, watch'и и т.п.
RO>P. S. Идея PS — обмен бинарными объектами вместо текста — хорошая, хоть и не новая. Реализация — не очень.
Здравствуйте, Roman Odaisky, Вы писали:
RO>Здравствуйте, kochetkov.vladimir, Вы писали:
KV>>Шеридан, третий раунд играть будем, или и так — уже каждый свои выводы сделал и все понял? Если будем — закину условия задачи.
RO>Лучше распей с Шериданом обещанный баттл, он тебе напишет драйвера для твоего модема, ты поставишь себе линукс, будешь здесь хвалить *sh и ругать PowerShell в частности и Майкрософт вообще, все будут счастливы, твоя компания станет сверхзащищена от всех вирусов и хакеров, на RSDN поменяются default city и default OS. Чего же ты хотел, виндекапец всё-таки.
...default-city будет переименован в "Нью-Васюки"...
Роман, ты невнимательно читаешь. Линукс у меня давно стоит, и я его достаточно активно использую (в качестве рядового пользователя по отношению к администрированию и программингу, если что). Ну, на работе, по крайней мере. Как в виртуалке, так и на одной из стационарных рабочих машин.
Здравствуйте, kochetkov.vladimir, Вы писали:
RO>>Просто несколько маленьких примеров: RO>>cd ../<Tab> покажет все директории, кроме той, в которой ты и так находишься. KV>В стандартной PS-консоли cd ../<Tab> работает также, кроме пропуска текущего каталога.
Она умеет что-то вроде Whatever-Editor C:\w\s\d\e\hosts<Tab>?
RO>>Короче, zsh дополняет всё по Tab. Т. е., совсем всё, включая ключи популярных программ. KV>PS — дополняет по Tab все, что относится к его инфраструктуре (командлеты, алиасы, команды, сценарии, ключи для всех них, помощь и т .п.).
Как именно? Что отображается при Get-<Tab>?
RO>>>>если мало программ имеют вывод, годный для переадресации в другие программы? KV>>>Хм... KV>>>И? :xz: RO>>Всё равно мало. KV>Зачем больше, если для этого есть более удобные средства?
Вопрос в том, зачем же тогда оптимизировать синтаксис для этой работы?
RO>>Я к тому, что от шеллоподобного синтаксиса толку ноль. Как интерактивная оболочка она не очень-то и удобна,
KV>Ром, лично ты — администрировал windows-сеть из этой оболочки? Просто интересно, читал ты "Пастернака" или нет...
Я и из других оболочек windows-сети не администрировал :-)
RO>>а Шеридан давно уже сказал, что если для обычной работы используется одно, а для сценариев — другое, жди багов. И он ведь прав.
KV>Комфортнее всех, имевшихся ранее аналогов под виндой.
kochetkov.vladimir однажды (27 июня 2008 [Пятница] 13:50) писал в rsdn.flame.comp:
> Шеридан, ты это... На досуге поинтересуйся — во сколько обойдется заказная разработка драйвера под закрытое устройство, прежде чем советовать такое, а потом рассуждать об > алчности собеседника, ага?
Я понимаю, что всему своя цена, но и для каждого потолок свой. Я смогу за безделушку выкинуть ну рублей 300 максимум. А ктото и 3000$ за деньги не считает.
И верхняя планка это уже восемнадцатый вопрос. Не можеш столько денег выложить — разбирайся сам. Логика простая