• Настраиваем сочетания клавиш в Linux наподобие Mac OS X
    0
    Как раз наоборот, потому я и написал «если не повезет». А «не везет», например, когда хотел выделить слово, зажал Alt+Shift, а потом передумал, и отпустил. В результате раскладка переключилась.
  • Настраиваем сочетания клавиш в Linux наподобие Mac OS X
    +1
    Левый шифт — раскладка? А на что у вас тогда верхний регистр букв?

    К слову, когда-то я недоумевал, для чего люди переключение раскладки перенастраивают. Потом начал пользовать Емакс, и стандартные клавиши стали сильно мешать. К примеру Alt+Shift+F — прыжок на слово вперед с выделением, и переключение языка, если не повезет. В итоге перенастроил на правые Ctrl+Shift.
  • Проблема с мобильным трафиком МТС в некоторых регионах, или лыжи не едут?
    0
    Я так понимаю, IP серый? Просто предположение — может быть это как-то связано с типами NAT? Возможно в проблемных регионах он отличается?
  • Техническое собеседование: пять способов отпугнуть соискателя / пять способов взбесить интервьюера
    0
    Например моя повседневная работа и бывший хобби-язык (сейчас сменился на Haskell) связаны с С++. При этом я знаю так же и слой различий под чистый С, т.к. в свободное время иногда отвечаю вопросы на StackOverflow, которые больше любят тэгировать под С — и там в комментариях приходилось участвовать в разного рода каверзных дискуссиях на эту тему. И в самом начале я кодил на С++ как на С.

    Я думаю, я бы подошел к программированию на чистом С, как на зверски урезанном Хаскелл. Мне не известны минусы этой идеи.
  • Почему Go и Rust не соперники, а чертовы враги
    +1
    (Не)желание учить ассемблер вообще не при делах. Просто читать код на С проще, чем читать код на ассемблере — следовательно и разработка легче. Например циклы на С становятся в ассемблерном коде кучей goto (исключая мелкие операции, к которым применим префикс повторения, если такой имеется). Кроме того, обычно нетрудно представить, во что превратит очередной кусок кода компилятор.

    С другой стороны компилятор не человек, и может держать в памяти сразу весь код — особенно с link time optimization — что позволяет ему делать оптимизации вроде выкидывания неиспользуемого кода, встраивания функций, вследствие чего вновь выбрасывания кода.
  • Ненастоящие сеньор-девелоперы, или почему годы опыта ни о чем не говорят
    +3
    «Одни с годами умнеют, другие становятся старше» — ©, из подписи одного из модераторов форума «Исходники».
  • Почему Go и Rust не соперники, а чертовы враги
  • Почему Go и Rust не соперники, а чертовы враги
    0
    А меня еще удивило наличие в списке проблем отладки. Мне стало крайне интересно, в каком-то это языке отладка лучше, чем в С++. Я знаю — в порядке убывания знаний — С++, С#, Lisp, Bash, Haskell, Python. Мб что-то еще по мелочи — но из этого списка самая тяжелая отладка была в Bash. А самая простая отладка как раз таки в С++, о чем я не раз вспоминал, когда начал учить C#, и ушел с многофункционального gdb на студию и monodevelop.

    Вот честно — я действительно не знаю, что еще можно прикрутить связке GCC + AddressSanitizer + GDB в принципе. Черт подери, да в GDB есть даже чекпойнты — имеется хоть где-нибудь еще такая штука?!
  • Как работается айтишникам в Норвегии
    0
    Очень интересно, спасибо!

    Скажите, я так понимаю, вы получили «рабочую визу»? А на какой срок она выдается? Когда и как ее надо продлевать?
  • Что почитать на выходных НЕлюбителю фантастики
    0
    Я так понял по списку книг, что имелась ввиду «не научная фантастика».

    Тогда добавлю в список «Дочь Железного Дракона» за авторством Майкла Суэнвика — это смесь стимпанка и фэнтэзи. Одна из лучших книг, которые я читал — похоже на своеобразную тёмную интерпретацию «Алисы в Стране Чудес».

    Кстати довольно странный автор — я не знаю лично ни одного человека, кто вообще про него слышал, однако, если зайти на его страницу в Википедии, можно обнаружить, что за половину выпущенных романов (в том числе и за Дочь Железного Дракона) у него просто куча самых различных наград.
  • Новые фотографии Плутона от New Horizons (от 3 июля)
    0
    Если бы не отсутствие отрицания со стороны автора комментария, ни за что бы не догадался, что это всерьез. По мне, так это просто шутка, игра слов — я вот даже мысленно улыбнулся, когда прочел.
  • Антивирусная авантюра Вконтакте
    +1
    Помню, репортил им баг с кодировкой, так же получил предложение поставить антивирус — тогда впервые узнал о его существовании. Смеху ради пытался поставить, но у меня даже загрузить не получилось: «К сожалению, в настоящий момент Ваша операционная система не поддерживается».
  • Государственные сайты России не используют формат Open Document. Небольшое исследование + опрос
    0
    В написании курсовой проблема соблюсти все требования по форматированию (абзацы, поля, нумерация, перенос слов).
    Но, признаюсь, набирать много форматированного текста в офисе довольно неудобно, поэтому я, например, прямо сейчас курсовую пишу в Markdown + CSS. Очень удобно, я даже подсветку кода туда смог приделать.
    Вопрос только, во что конвертировать — как раз набрел на эту статью, пока гуглил, входит ли PDF в список ГОСТ форматов. Предполагаю сдавать в нем — тем более, что при конвертации в офисные форматы у меня постоянно какие-то проблемы были, а в PDF все именно так, как предполагалось выглядеть.
  • Что новые версии UEFI-стандартов нам готовят, часть вторая, ACPI 6.0
    0
    А я по сей день считал другой стандарт худшим (старые версии) — из сказания о великом противостоянии OpenGL и DirectX.
  • DoS эксплойт десктопного Skype для Windows и Mac OS
    +3
    Действительно, под GNU/Linux не воспроизводится.
  • «ВКонтакте» не платит пользователям за найденные уязвимости
    +2
    Еще в Августе прошлого года писал им о странном баге с юникодом в мобильной версии сайта. Сказали, что исправят, а воз и ныне там:
    image

    Моб. версия:
    image
  • Vim и кириллица: парочка приёмов
    +1
    А я вот на Vim часто русский текст пишу — например, вот, прямо сейчас набираю вам этот текст с Vim'a ☺ Использую «C-i» в расширении Pentadactyl (плагин для управления браузером с клавиатуры), чтобы вызвать редактор для набора текста с любой текстовой формы.
  • VPN-расширение Hola продает пользовательский трафик и содержит уязвимости удаленного выполнения кода
    0
    Доска /beast/ просто отсутствует в списке на главной — я только что пробовал, если зайти на любую одну, и заменить имя доски на beast, то она великолепно грузится.
  • Видео от пользователя: ReactOS установлен и работает на «современном» компьютере
    0
    Жалобы на древнее железо относились к тому, что ReactOS даже не могла установиться на современном. Я знаю, потому что где-то год назад пытался себе поставить из любопытства на ноут — при установке на обоих ноутбуках были какие-то критические проблемы, не позволявшие довести установку до конца. За давностью не помню подробностей; я тогда спрашивал на форуме и в IRC, мне, кажется, ответили, что у них был SATA драйвер кривой. Кажется.

    Поэтому радостно видеть, что она, наконец, работает на реальном железе.
  • Анонс Rust 1.0
    0
    Да пожалуйста.
    void M(dynamic o) { o.foo(); }
    

    Что ж… Беру слова назад — я не знал про это. Любопытно.
    Я использую IDE Mono, и редактор Емакс.
    ССЗБ

    Я просто к чему говорю — этот ваш пакет, это сторонняя утилита. Я не должен для элементарных вещей искать статический анализ кода, а подобное предупреждение именно элементарно. Откуда разработчик может знать об этом? Должно быть, из случайного комментария на хабре?
  • Анонс Rust 1.0
    +1
    Буду. В большинстве случаев, то, что есть в темплейтах, но не удобно сделать в дженериках, это костыли С++ ввиду отсутствия метаданных.

    Простите… «Костыли»? Серьезно? Напишите-ка мне на C# функцию, принимающую объект любого класса, и вызывающую функцию foo() из этого класса. Если у вас это получится, я возьму свои слова назад.
    Нет, это в самом деле смешно — то есть тот факт, что я могу сделать больше на С++, и, при этом, сделать проверку во время компиляции, вы считаете костылем? Простите, у меня официальный опыт программирования всего год, но даже я уже знаю, что ошибки надо по максимуму находить во время компиляции, а не в рантайме. Вы, должно быть, новенький?
    Нахрена в методах использовать что-то меньше int? И ничего мутного нет, вся арифметика проводится только в int, и это даже отчасти хорошо.

    «Зачем делать α, мне никогда не нужно было… о.о» Простите, но вам не кажется, что это детский вопрос. Если оно вам не нужно было, вероятно это не означает, что оно не нужно совсем ни кому. Конкретно в моем случае, у меня есть протокол передачи данных по каналам связи, и каждое поле там определенного размера. Зачем такого маленького размера? Да, что бы у вас же, уважаемый a553, не тормозил ютьюб. То есть, это, конечно, утрированный пример, с моим приложением вы, скорее всего, никогда не встретитесь — но заголовки пакетов надо делать настолько маленькими, насколько это возможно.
    Вы не понимаете, что возвращает Marshal.SizeOf. Почитайте документацию.

    Сейчас я понимаю, но, когда ты пытаешься написать приложение, следуя многочисленным гайдам и туториалам, где проблема совершенно однозначно решается неким способом, причем даже название метода соответствует тому, что все идет правильно — ты сначала пишешь код, а потом удивляешься, почему все хреново. Должно быть вы идеальный программист, кто после туториалов сразу кропотливо перечитывает документацию на каждую примененную функцию?
    Разделите на классы и методы. Привет, ООП.

    Все уже за вас продумано, и разделено. Это не отменяет, что есть некие функции размером в 50-100 строк, которые делить еще дальше просто нет смысла по разным причинам. У вас такого, должно быть, не бывает?
    Предупреждение входит в базовый пакет Code Analysis.

    Простите… Что? Я использую IDE Mono, и редактор Емакс. Для особо проблемного дебага запускаю Студию. Где там, для чего это, говорите, плагин? Емакса? Ах, нет, должно быть Моно?
    Извините, но вы бред пишете. Не пишите больше, пожалуйста.

    Если учесть, что я не увидел ни одного серьезного довода, зато вы обозвали меня юродивым, должно быть у вас что-то не в порядке с логикой. Не пишите сюда больше ;)
  • Анонс Rust 1.0
    –3
    Вполне себе понятно — для «int» определена только нижняя граница в 2¹⁶. У него нет верхней границы, он может сколь угодно простираться, вы видите очень длинную прямую, чей хвост скрывается и меркнет вдали под влиянием Допплеровского эффекта. Если необходимо знать битность числа, то еще великие древние, что кодили на чистом С, использовали типы из стандартной библиотеки, вроде «int32_t» (limits.h)
    Все что я хотел сказать это то что по степени комфорта общего программирования, не вдаваясь в сложные кейсы, С++ может дойти почти до уровня C#/Java.


    Должно быть, вы хотели сказать «снизойти»? Потому что, даже, когда я мысленно вычеркиваю все упомянутое, и ставлю, казалось бы, вровень, эти языки — у меня остается в памяти, что в C# на каждой пятой строчке, я должен не забыть создать объект с помощью слова new. И да, вполне допустимо умудриться где-то не инициализовать поле, и обнаружить это только в рантайме. Какой вообще смысл использовать сборщик мусора, если я должен писать в полях класса это слово, тогда как, в столь, почему-то, принижаемом вами С++, поле с объектом в простейшем случае само о себе позаботится (для наглядности, создайте в C# класс с объектом List<>, и в С++ класс с объектом std::vector<>).
    В С++ я могу провозглашать объекты на стеке, не пользуясь словом new, и делая свой код намного меньше, и, в то же время, будучи уверенным, что за меня об инициализации объекта позаботятся добрые дяди из GNU (ведь случаи использования кучи так же специфичны, как и прошлые примеры, верно?;).
  • Анонс Rust 1.0
    –4
    но последние подвижки плюс то что должно в скором времени выйти (например модули) может поставить С++ примерно на уровень C#/Java

    Да ни в коем случае! Вы же просто шутите, верно? Я не могу говорить за Java, но недавно вынужден был пописать на C#, и для меня, пришедшего из С++, он просто ужасен.

    • Темлэйты. Пока в C# нет аналога темплэйтов, проекты (недавно и я) обречены на написание огромного кол-ва повторяемого кода. Вы же, надеюсь, не будете утверждать, что аналог темплэйтов — это дженерики, правда? ;)

    • Мутная типизация числовых типов. Это просто убийственно — я занимался тем, что портировал относительно несложный код с С++ на C#, и подобные вещи меня убивали — попробуйте скомпилировать следующий код:

    			UInt16 two = 2;
    			UInt16 foo = two + 2;
    

    У вас будет выбор: либо писать, используя правильные размеры, но кастуя в каждой третьей строке, либо писать неправильно, зато без кастов. Прелестно.

    • Полурабочий «sizeof». Он не может брать размеры переменных, только размеры типов. Это означает, что, если у меня в структуре есть переменная х типа UInt16, и я однажды ее поменяю на UInt32, мне придется перерывать весь код в поисках, где я делал «sizeof(UInt16)», подразумевая «sizeof(x)».
    Вообще в C# знатный бардак с размерами типов. Например мне пришлось потерять как-то кучу времени на отладку, прежде, чем я понял, что хваленный, и везде рекомендуемый «Marshal.SizeOf(myStruct)» в моем случае не работает. Он возвращал мне неправильный размер структуры из-за того, что там был массив байтов — а с массивами он работает неправильно, причем в компиляторе нет даже предупреждения на эту очевидную ошибку (ибо кому может понадобиться брать размер массива, если заведомо вернется неверное значение?). При этом «Marshal.SizeOf()» применяется на объекте, а не на типе, т.о. логично ожидать, что возвращать он будет размер, занимаемый объектом.
    Да, безусловно, например в полюбившимся последнее время Хаскелле, мне тоже неизвестно ничего подобного — но, черт подери, это же Хаскелл! Это сущая мелочь, в сравнении с тем, что ты получаешь. Что я получаю взамен в С#?

    • Watchpoint'ы. Недавно мне крайне необходимо было воспользоваться подобным функционалом, и… Как выяснилось, их нет в C#. То есть не то, что их нет в конкретном дебаггере от Моно, или от Студии, либо еще где-то — словам людей с SO они принципиально невозможны в связи с устройством сборщика мусора, который имеет полное право двигать существующие объекты, приводя к ложным срабатываниям.

    • В С++ есть любопытная малоизвестная конструкция стиля «if (const char* foo = myFunc()) {puts(foo)}»(disclaimer: внутри скобок «if» провозглашается переменная, и используется далее в блоке). Штука спорная, но мой опыт показывает, что плюсы использования перевешивают минусы. Потому что, когда у вас есть несколько функций 50-100 строк, которые вызывают одна другую, и в какой-то из них, вы точно знаете, есть ошибка — вам приходится тщательно проследить за каждой переменной, что бы понять, что с ними происходит. И, чем уже область видимости подобных переменных, тем меньше боли вам это доставит. Надо ли говорить, что аналога C# не имеет.

    • Деструкторы. О-о, да, одно из самых слабых мест C#. Деструкторы вызываются в рэндомный момент, и потому не несут практически никакой пользы. Что же делать? Я не слышу, кто-то упомянул Disposable? Это аналог деструкторам, да? Это же великолепно, давайте напишем класс, которому жизненно необходим освобождать какой-то ресурс при выходе за область видимости, и обнаружим, что… эту функцию мы должны вызывать вручную! Какой смысл в нем, если мы должны делать все руками? Нет, я знаю, мы можем написать конструкцию в стиле «using (var x = new myDisposableType()){/*code*/}», вот только единственное место, откуда пользователь класса об этом узнает — один из комментариев в документации к классу. И дай Бог, что бы он был очень внимательным, когда будет читать это тысячное описание, т.к. компилятор даже предупреждения не вставит, если он забудет использовать подобного рода конструкцию, а об этом маленьком нюансе он узнает только после длительной и муторной отладки (потому что не всегда проблема, вызванной не-удалением ресурса, может быть очевидно, как было в моем случае).

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

    Это только то, что я смог вспомнить навскидку, но моя память говорит, что это были не единственные проблемы такого рода. Вы же ведь не серьезно это С++ сравнили с C#, вы просто шутили, верно?

    P.S. Ох, как много текста… Прошу прощения, вынужден кодить какое-то время на этом языке, просто уж очень сильно накопилось :)
  • Язык программирования Crystal
    0
    Лаконичность синтаксиса Ruby + скорость C? Как по мне — звучит неплохо.
    Мне больше по душе идея Rust — лаконичность синтаксиса Haskell + скорость С. Вернее синтаксис, все же, ближе к С, но зато идеи во многом Haskell.
  • Нужна помощь в модернизации ПО с 7 млн строк кода на COBOL
    +2
    Давайте я буду первым, кто обратит внимание на этот совершенно заурядный факт: один из разработчиков языка программирования (!) — человек с очень высоким званием «контр-адмирал флота США»(!!), и этот военный человек еще является и учёным(!!!). Ну, и, что бы окончательно добить — это женщина.
  • Microsoft прекратила разработку Windows, новых версий больше не будет
    0
    Совершенно неясно, как теперь быть с поддержкой, если через пару лет будет два десятка независимо существующих версий, в каждой из которых интерфейс немного отличается (и, что самое печальное, никто толком не сможет сказать, в чём конкретно).

    Не вижу проблемы, откровенно говоря — вот вам живой пример: есть куча дистров GNU/Linux, причем, даже, если это один дистр — пользователи меняют интерфейс «кто во что горазд», ставят другие окружения рабочих столов, устанавливают тайловые менеджеры… Т.о. никакого порядка, но это не мешает оказывать поддержку, причем без особых проблем. Например, если вопрос в настройке сети — то всегда можно использовать либо конф. файлы, либо NetworkManager — вне зависимости, есть ли у конечного юзера даже апплет этого менеджера (есть nmcli).
  • Microsoft прекратила разработку Windows, новых версий больше не будет
    0
    Есть еще альтернатива «Ekiga». У нее только одна мне известная проблема, но очень большая и старая — она до сих пор не может работать за NAT'ом (может, кроме, редких случаев).

    Но, в целом довольно любопытная штука — мы, с приятелем, помню, даже смогли общаться через нее внутри локальной сети, при этом не создавая никакого аккаунта в интернете.
  • Дневная аудитория «Вконтакте» превосходит таковую у «Первого канала»
    –1
    Я, например, ТВ уже года четыре не видел. И факт наличия такой огромной аудитории у одного единственного ТВ канала меня… Скажем так, шокирует.
  • The Imagination Machine
    +1
    Это круто! У меня тоже довольно давно есть намерение заняться ЭЭГ. Я даже опенсорсную либу для этого дела откопал.
  • Миллион строк плохого кода
    +1
    В «100 строках копипаста» могли быть ошибки, которые, будучи найденными в, скажем, оригинальном куске кода, останутся в скопированном. Поверьте моему печальному опыту — это не круто, пофиксив такую ошибку, размышлять «Не скопировал ли я куда-нибудь еще этот код?»
  • Миллион строк плохого кода
    +3
    Мой первый — и длительный — серьезный опыт в программировании выглядел похожим образом, разве что ждать приходилось не сорок минут. У меня была программа на С++, написанная в С стиле, с использованием void указателей вместо темлейтов (что я аргументировал, фактом наличия таких указателей в функциях стандартной библиотеки С, а темплейты слишком ужасно выглядят).
    Чтобы найти только одну ошибку, которую я бы мог обнаружить, если бы умел правильно писать код, мне приходилось готовый бинарник переложить в определенную директорию, переключиться на терминал, подключенный к устройству, откуда командой «tftp -gr file $IP» скачать файл, затем не забыть дать ему исполняемые права, затем переместить в другую директорию на замену старого приложения, затем убить старое приложение, затем подождать некоторое время, пока его перезапустит демон, затем на ПК в клиентской части приложения сделать еще несколько пассов, и получить сегфолт. Затем проделать часть манипуляций, связанных с запуском gdbserver, и подключением к нему, снова воспроизвести сегфолт, и, наконец, заняться изучением причин.
    Но чаще всего сегфолта не возникало, а просто что-то работало неправильно, и все нудные манипуляции приходилось повторять полдня, чтобы только найти одну проблему.

    Постепенно я понял, что надо писать код так, чтобы по максимуму ошибок можно было обнаружить на этапе компиляции. Не последнюю очередь в этом сыграло и изучение языка Haskell — который, кстати, весьма рекомендую людям не знакомым с ним: даже, если вам не придется работать с этим языком за деньги, он научит вас писать код действительно правильно, даже на других языках.
  • Будущее файловых систем Linux
    0
    Lenovo 3000 G410. Не уверен, какого он года выпуска, но я его покупал лет 5-6 назад… И да, в нем нет такой опции. К тому же формат фактор у клавиш Ctrl и Fn на этом ноутбуке разный, так что, даже если добавят в биос, поменять надписи не выйдет. Но я, наверное, придираюсь — пусть уж хоть как-нибудь работает.
  • Будущее файловых систем Linux
    0
    Работа на *буках обычно производится нажатием без кнопки Fn клавиши печати экрана. Попробуйте перейти в терминал по Ctrl+Alt-F1, и нажать Alt+Shift+PrintScreen+h — если все хорошо, у вас должен вывалится help по клавише в stdout.
    Так же не забывайте, что, по-крайней мере, в *buntu ее функционал по максимуму урезан из соображений безопасности; для повышения возможностей там надо редактировать файл /etc/sysctl.d/10-magic-sysrq.conf

    У меня тоже есть бук от Леново, и клаву на нем тоже делали люди, явно умом обделенные. Мало того, что они зачем-то для SysRq поставили клавиши Fn, хотя можно было просто оставить на шифте — так они еще и додумались поменять Ctrl с Fn. Когда я на нем работал, мне пришлось выдрать клавишу Fn, чтобы каждый раз, когда я тянусь нажать Ctrl, я натыкался на резинку, и вспоминал, что Ctrl правее.
  • Будущее файловых систем Linux
    0
    Вовсе необязательно при зависаниях видеодрайвера отключать питание, обычно это лечится магической клавишей SysRq.
  • Программисты и языки программирования: кому платят больше всего?
    0
    Вероятно у него дисплей подключен к ноуту, если вы про это. У меня похожая ситуация, но, признаться, клавиатуру я тоже внешнюю использую.
  • Первый взгляд на Project Spartan — браузерное будущее от Microsoft
    0
    Вы невнимательно читали, все перечисленные пункты, кроме пятого, относятся к официально навязанному для всей компании прокси-серверу. По пятому — да, согласен, им бы стоило это решить, это возможно. Но я просто привел крайний пример, когда идея отсутствия настройки отдельного прокси в приложении очень мешает. Более того, это же очевидно, что такой функционал, как отдельная настройка прокси в приложении дополнительно к системной, лишней не может быть. Если, вдруг, никто не пользуется — ну и хорошо, кушать не просит.
  • Первый взгляд на Project Spartan — браузерное будущее от Microsoft
    0
    Все не так.
    Кажется, тот же Chrome открывает до боли всем знакомое окошко.

    Хром имеет собственные настройки прокси. Если вы наберете в терминале «google-chrome --help | grep proxy», вы увидите «--proxy-server=host:port».
    Ну, справедливости ради, многие программы были приучены использовать настройки прокси «от IE». … И, когда эти настройки стали по-настоящему (обще-)системными, по-моему стало хорошо.

    Еще, по-крайней мере, в WinXP были общесистемные настройки прокси. То, что не все программы их используют, не значит, что их нет.
    Хорошим вариантом будет оставить в IE PS кнопку «Изменить настройки прокси», которая будет открывать окошко с настройками ОС.

    Скажем так, у меня есть знакомые, у которых на работе стоят два прокси-сервера. Один неофициальный, у него проблема, что он постоянно падает. Другой официальный, но он совсем плох: во-первых стоит ограничение на ½Ггб, во-вторых трафик на многие сайты тупо режет. Например режет IRC — без комментариев — режет Facebook и Твиттер, хотя я, к примеру, авторизуюсь на StackOverflow через фейсбук. Но ближе к делу: когда у них падает прокся, и, по каким-то причинам, в ближайшее время не поднимется, надо использовать другую прокси. И невероятно удобно, что в FireFox стоит выбор между двумя серверами: системным, и настроенным отдельно. А предлагаемая вами ситуация крайне удручающа, т.к. необходимо сохранить отдельно настройки старого прокси, вписать новые, а проверять, не поднялась ли старая прокся можно было бы лишь переписав настройки обратно, либо спрашивая у коллег. А потом, конечно же, надо будет удалить новые настройки, и вернуть пред. IP адреса на место. Не правда ли слишком много работы по сравнению с нажатием единственной радиокнопки?
  • Вычислите длину окружности
    0
    В данном случае это следует из того, что это имя много раз применялось. Но с тем же успехом этим именем могло быть и какое-нибудь «myVeeryLongVariableName». Я к чему говорю: мой ответ касался вашего замечания, что переменная плохо ищется потому, что у нее короткое имя — логично было предположить, что вы не знаете про grep, и/или регулярки.
  • Вычислите длину окружности
    0
    имя короткое и оно плохо ищется

    Вы должно быть забыли поставить запятую, т.к. из того, что имя короткое совсем не следует, что оно плохо ищется :) Например вот вам команда с регуляркой «навскидку», которую я бы на вашем месте использовал «grep -rnIE "\bL\b[^\"]*"» — скипает бинарные файлы и «широкие» строки, выводит только строки с их номерами в файле, где используется одинокая большая Эл.
  • Вычислите длину окружности
    0
    Разумное возражение. Но хочу заметить, что с другой стороны, при lto-оптимизации все дубликаты наверняка будут удалены, что крайне сомнительно в случае с «#define».