bash.im ithappens.me zadolba.li
2246

Больше двух считают вслух

Колупаю Asterisk — хочу выяснить, каким кодеком лучше записывать разговоры на хард. Прошу программиста пройти в другую комнату, позвонить мне на телефон и посчитать с десяти до нуля. Иду с ним, показываю, как пользоваться IP-телефоном, набираю свой номер, возвращаюсь к себе.

Гудок. Беру трубку — в трубке тихо. Оборачиваюсь. Он стоит в дверном проёме, телефон мирно лежит «где-то там».

— Чего не считаешь-то?
— А вслух надо?

2645

Свидание с мистером С.

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

Сегодня наконец-то дописала её. Радость свою я выражала бурно и громко — мать поинтересовалась, по какому поводу праздник. Как человека далёкого от программирования, решила её не грузить:

— Да так, личное счастье.
— А-а-а, заработало?

Её ответ опустил всё настроение и заставил задуматься о том, что с личной жизнью явно что-то не так.

5678

Tools of the trade

Инвентаризация на предприятии. Избранное.

Заклёпочник
Картонный ящик из-под дрели
Инструмент с синим дном
Неизвестные приборы беленькие
Инструмент с красной ручкой
Болт
Флакон из-под силикон
Вибратор-перфоратор (неукомплектованный)
Кабеля толстый моток
Сантехнические запчасти
Лампа мощная
Обои разные мешок
Закрывачка потолочной лампы
Прибор для измерения напряжения
Ключ гайковый
Зарядное устройство синий ящик (я проверил — это осциллограф)
Прибор с чёрным экраном
Детали красные
Болтики маленькие
Шурупчики маленькие
Ведьма большая
Шланг для полива в кусках
Ферма
Шпильки для монтажников

4385

Всем девчатам пример

Я вот тоже не одно место работы поменял: всё настрою, налажу, оттестирую и сижу играю — ну зачем нам такой сотрудник? А теперь не хочу уходить только из-за того, что понимаю: таких бухов я нигде больше не найду.

Заместитель главбуха — Наденька. Девушка модельной внешности, всегда опрятна, вежлива и аккуратна. Даже когда злится, у неё просто еле уловимо меняется улыбка. Вызывала меня за последние полгода только получить деньги. Есть проблема: муж и ребёнок.

Главбух — Оксана Владимировна. Недавно в нашем коллективе — так она меня с собой на перекур тянет, чтобы рассказать, какие все тупые! И не поспоришь ведь: со всем согласен. Плюс ко всему Оксана Владимировна сама нашла все проги, нужные ей для работы, за пиво попросила открыть доступ к сайтам, где можно их скачать, не спалившись по трафику, торрентом сдула, поставила и настроила под себя. На админа банка наорала, когда он не хотел ошибку своего сервака принимать — и ведь права, чертовка, была. Ко мне обращается только по вопросам закупки.

Что мне ещё надо? Я в раю, хоть зарплату и задерживают.

8807

Сперва раскомментировать Плутон

Только что откопал у себя на домашнем компе роскошный файл с именем solarsystem.cfg. Вот думаю — поправить конфиг, что ли, и перегрузить? Или пусть себе работает?

2621

Войны кривые-теневые

К Новому году я решил порадовать себя и компьютер новой веб-камерой. Купил, подключил, установил драйвера, ПО — всё заработало. Пришла весна. Вчера вечером, пока я тихо-мирно правил одну жёлтую программу, компьютер вдруг заорал, что обнаружено новое оборудование, причём нашел он именно мою камеру и потребовал диск с дровами. Получив требуемое, виндюк поскрипел и сказал, что установка невозможна из-за ошибки установки. Меня заинтересовало странное поведение машины. Исследования показали: пока я трудился, в системе шла беспощадная теневая война не на жизнь, а на смерть.

На драйвер камеры было совершено нападение «злобным» вирусом (выяснено простым бинарным сравнением). Но так как вирус был написан коряво, встать по-тихому у него не получилось: хулиганство заметил докторвебовский Guard и решил заразу выкусить. Guard был тоже написан коряво: выкусить заразу у него не получилось, и драйвер сдох, что и было замечено системой. ХР узрела непорядок и решила исправить ситуацию переустановкой, посмотрела .inf и потребовала свежую копию драйвера. Но так как и ХР написана коряво, то вычистить перед установкой оставшиеся драйверные хвосты у неё не получилось, и камеру вышибло без права дальнейшей установки.

Вот так и живём: кривое с кривым из-за кривого воюет, а мы реестр ручками чистим.

8983

Не чует контекст

Занимаюсь своими рабочими делами, приходит тётечка.

— Я, — говорит, — сделала таблицу в Ворде, как мне перенести её в Эксель?
— Просто скопируйте в Эксель — и всё, — недоуменно отвечаю я.

Тётечка уходит. Через пять минут возвращается обратно.

— Не знаю как.
— Ну, выделите табличку и скопируйте в Эксель, — продолжаю удивляться я.
— Там нет кнопки «Скопировать в Эксель»!

8274

Одичалый указатель лицо ладонь

Учу С++. Завис на указателях, полез в Гугл. Наткнулся на один хелп по ним. Выдержки из статьи:

Например. блок [3] будет синонимно с * (array+3), намеревающся * (0x1000 + 3*sizeof (внутренне)), который говорит «dereference значение хранило на 0x100C, in this case 0x0001».

Это объявляет деньг как указатель к интежеру. В виду того что не гарантированы, что будет содержание памяти любого специфически значения в c, необходимо позаботиться для того чтобы обеспечить что адрес то деньг пункты к действительны. This is why предложены, что выступает указатель с иничиативой к NULL.

Напечатанные на машинке указатели и отливка
В много языков, указатели имеют дополнительное ограничение которому предмет, котор они указывают к имеет специфический тип. Например, указатель может быть объявлены, что указал к интежер; язык после этого попытает предотвратить программник от указывать он к предметами не будут интежеры, such as floating-point номера, исключающ некоторые ошибки.

Делающ указатели безопасно
Указатель не имеет NIKAKой адрес заданный к ему вызван a одичалый указатель. Любая попытка использовать такие uninitialized указатели может причинить непредвиденное поведение, то потому что первоначально значением не будет действительный адрес, или потому что использование его может повредить систему продолжитеную по времени и другие unrelated части программы.

Долго ржал. Даже Промт, земля ему пухом, на такое не был способен.

11340

А стул догорал подо мной

Занимаюсь программированием PLC Siemens. Есть такая возможность — передать со SCADA целых 4 КБ данных за один цикл, пусть байтовым массивом — но можно же! А при объёме оперативной памяти 128 КБ и под хранение программы 512 — это ой-ой-ой. Решил заняться этим вопросом, благо рецептурная база в пищёвке — вещь необходимая. Вышел я из отпуска — и понеслась…

Шаг первый: скачал пример. Работает, но выворачивает байты наизнанку. Моторола же ж. Ладно, выкурил учебник по C, пристрелял его к реалиям извращённой логики скрипта. Приходит случайно сгенерированный массив в нужном виде.

Шаг второй: ещё один пример для выборки данных из отданного на растерзание пользователю куска SQL-базы. Скурил Александрийскую библиотеку. Сделал. Выбирает данные, запихивает в сгенерированный массив, затем пишет в тэг по номерам байтов, взятым из номера шага и номера параметра.

Шаг третий: теперь полученный массив надо перевести в должный вид, чтобы булевы переменные стали булевыми. А что вы хотели? Нельзя просто так взять и сразу выдать булевыми: хитрая система всё, что отлично от нуля, считает априори трушным. На каком языке проще всего перебирать два массива в трёх циклах? Конечно же, STL.

Шаг четвертый (стул начал тлеть): два массива перебираются в трёх циклах по типу переменных — переменная времени, булева, real. Всё хорошо, но при переборе массива число итераций не увеличивается, что приводит к падению в стоп. Левый глаз дёргается, правый судорожно читает срач на форуме. Умный человек советует скурить книгу Бергера. Слава ему и честь, указывает главу. Смысл в том, что если ты собираешься вызывать один функциональный блок несколько раз, то тебе не надо ничего делать, но второй адресный регистр забирает компилятор под статпеременные, в которых лежат счётчики итераций. Эту возможность можно отключить только при создании блока. Но после — уже никак не изменить судьбу, быть ему навечно мультиэкземплярным.

Шаг пятый: всё, заработало, перебирает и шуршит. Самое время перебраться с симулятора на реальное железо. Из заказанного шкафа выдирается контроллер — и-и-и… Фейл! Эта фича работает или на старшем поколении, или всего на трёх из младшего по мощности, у которых есть порт Profinet.

Мораль: мануалы курить не надо, их надо читать. И очень внимательно, иначе никаких стульев не напасёшься. А я тем временем жду подходящее железо — буду дальше воевать с немцами…