Внезапно я обнаружил, что все ходят вокруг с выпученными глазами и офигевают, а сам я-то слабо слежу за курсом рубля. А потом понял -- почему.
Как же хорошо и спокойно, когда нет ни рублёвых накоплений, ни долларовых долгов! А долларовые накопления настолько малы, что их будет не особо жалко, даже если насильно отберут и конвертируют по курсу 1:1.
Уж пару лет как в автобусах/троллейбусах/трамваях в Москве поставили (хотя ещё не на всех) светодиодные табло с номером и маршрутом. Табло горят оранжевым, очень ярко, с передней стороны транспортного средства (да и не только с передней).
Я это, конечно, замечал и раньше, но в полной мере осознал только сейчас -- что именно благодаря этим табличкам транспорт очень хорошо видно издалека, особенно в тёмное время суток. Как смотришь -- так видишь -- вот он, автобус идёт. Это очень хорошо, т.к. раньше приходилось угадывать по косвенным признакам (тень рогов троллейбуса на бликах близлежащих предметов, к примеру).
Как некоторые задумываются на мотивацией текущей деятельности персонажей книг/фильмов/игр, так некоторые задумываются и над тем, что те делали ДО появления наблюдателя и что они будут делать ПОСЛЕ.
В данном контексте особое место для меня занимают квестодатели в компьютерных играх.
1. Квестодатель, как правило, во время выполнения квеста находится на месте, то есть -- с виду ничего не делает. 2. Понятно, что квест может быть обусловлен сюжетно, тогда ещё нормально. Но есть отдельная категория квестов -- "принеси мне фигню". И вот, значит, квестодатель отправляет игрока за маслицем, чтобы бобовое зёрнышко помочь пропихнуть -- но сам остаётся на месте! Почему не пошёл сам? 3. Понятно, что с точки зрения геймплея это совершенно естественно -- посылают игрока, т.к. это игрок играет, а не квестодатель. А квестодатель находится на месте, чтобы потом его было легко найти. Но если забыть про геймплей -- а мне кажется, что это геймплей должен подстраиваться под сюжет, а не наоборот -- то получается один из вариантов: а) Квестодатель не хочет сам идти. Либо ему... ахаха... противно, либо он опасается. Либо результат нужен не ему. б) Квестодатель не может сам идти. Он занят "общественными обязанностями", стоит на посту, к примеру. в) Квестодатель в тайне надеется, что игрок не вернётся или хочет проверить его для другого, более сложного задание (а текущее, на самом деле, никому не нужно). 4. Особый шик, когда награда за принесённый предмет примерно равна по ценности (с точки зрения игры), либо даже меньше, чем то, что надо принести. Тогда возникает соблазн не сдавать квест, а смотреть с невинными глазами на квестодателя и говорить, что ничего не вышло. Как правило, за это никто не наказывает. Значит, квестодателю и результат-то особо не важен, если предлагаемая им награда заставляет задуматься о несдаче квеста. 5. И ещё один момент -- квестодатель обычно заранее не сообщает, что он даст в случае выполнения квеста -- это, вообще говоря, нечестно по отношению к игроку. Да, у игрока есть лоад-сейв и "моральный закон внутри", но всё равно -- с какой целью скрывать эту информацию?
Что интересно, если студент всё-таки пришёл на занятие, то он вряд ли свалит с него самостоятельно. Он может канючить "ну отпустите пораааньше", "ну, мы пойдём домой?", но если я скажу -- "так, кто не хочет -- валите домой, займитесь чем-нибудь более полезным", никто не уйдёт. Даже если скажу персонально и обещаю отсутствие санкций (задрало это слово). А "не-ушедшие", которые хотели домой, слушать-то всё равно не будут, зато будут активно заниматься посторонними делами, переговариваться с другими сокамерниками и иными способами мешать другим, которые не канючили. Что это, сдадное чувство? Страх передо мной? Но если страх, почему не уходят, когда говорю уходить? Думают, что это обман и будет наказание?
Сваливают только с лабораторных работ (там надо написать программу) -- но только во второй половине. Первую сидят, нифига не делают и шумят.
Обычно говорят, что надо вспомнить себя в пору студента, но я был не из этой категории.
Описано, как не надо применять операцию "запятая" в Си.
(читать дальше)Придётся смириться: в языке Си есть запятая. Запятая есть двух видов -- разделительная и "операция запятая".
Разделительная запятая применяется: 1. При перечислении в об'явлении переменных: int a, b, c; 2. При перечислении параметров фукнции (макросов это тоже касается): int f(int a, int b, int c); -- и потом f(7,3,2). 3. При инициализации массивов и структур: int a[3]={1,2,3}; В Си++ есть ещё несколько случаев, но на них я останавливаться не буду.
Все остальные запятые -- это "операции запятые"!
Когда студенты спрашивают, почему я про неё рассказываю, когда от неё так мало пользы, я отвечаю, что по двум причинам: 1. Чтобы вы смогли её опознать в чужом тексте, если какой-нибудь умник её применит. 2. Чтобы сами не писали её там, где её быть не нужно, ожидая иного поведения (об этом, собственно, данная статья).
Как работает эта штука -- несколько выражений пишутся через запятую. При вычислении общего выражения каждое из них вычисляется последовательно слева направо (они могут быть разных типов), при этом каждое из них вычисляется обязательно, а результат -- это результат последнего выражения; результаты всех остальных выражений выбрасываются на помойку, хотя то, что они изменили (присваивание и т.п.) -- сохраняется. У операции "запятая" самый низкий приоритет. Последнее очень важно.
(примеры)Пример 1. a=2,b=3; В a 2, в b 3, результат -- 3.
Пример 2. 2,3; Результат -- 3.
Пример 3. a=3,b=a+3,7; В a 3, в b 6, результат -- 7.
Пример 4. a=3+5,3+7; Вот тут очень важный момент. У "запятой" минимальный приоритет, поэтому сначала выполняется присваивание и в a 8, но результат операции 10. Я всё говорю про результат, но как его получить-то, когда даже присваивание выполняется раньше? Искусственно поменять приоритет.
Пример 5. a=(3+5,3+7); В a -- 10, результат выражения -- 10.
Я остановлюсь на факапах, которые происходят по её вине. Чаще всего это бывает у очень сильно начинающих писать на Си (Си++, PHP, Java, Javasсript -- вас всех это тоже касается!). Часто вижу на примере студентов.
Начнём с безобидного.
Факап 1. for(x=0,x<100,x++) Не знаю, что заставляет писать так. Видимо, пишется по памяти. Но после написания 2-3 рабочих циклов такого уже не должно происходить. Почему безобидное, потому что не будет компилироваться.
Факап 2. return a,b; Хочется вернуть два значения сразу! Но нельзя. Вернётся b. Когда это увидел ssvda, он сказал, что автору данной строки нужно учить Python, там такое работает. Я, правда, применяю подобную конструкцию в виде return printf("Error opening file\n"),ERROR_FILE_OPEN; В одну строчку выводит сообщение об ошибке и возвращает её код. За такое надо убивать (меня).
Факап 3. int volume, r=3; volume=4/3*3,14*r^3; Эти не знают, что в Си -- десятичная точка, а не запятая. И ещё не знают, что крышка -- это поразрядное исключающее "или". В volume будет 3. Про об'ём как целое число -- ладно, фиг с ним.
Факап 4. int a[3][3]; a[1,2]=0; Для тех, кто раньше писал на Паскале/Делфи, МАТЛАБе и чёрт знает чём ещё может быть совершенно неочевидно, что в данном случае тоже! применяется операция запятая. a[1,2] эквивалентно a[2]. Но a[2] имеет тип const int *. Не скомпилируется. Но если многомерный массив -- динамический, то даже предупреждения не будет.
Факап 5. while(a>3, c>2) Имелось ввиду while(a>3&&c>2). В данном случае будет проверяться лишь второе условие.
Факап 6. Приплюснутое. delete t1,t2; delete -- такая же операция, как и остальные и тоже имеет свой ранг в таблице приоритетов. Поэтому сначала будет вычислено delete t1 (указатель удалён, результат: void), потом t2 (результат: t2), а результатом будет последнее выражение (t2). t2 удалён не будет! (спасибо за поддержку: himself)
Факап 7. Приплюснутое, часть 2. throw 1, 2; См. факап 6. То же.
Разумеется, минимально-опытный программист крайне редко будет писать подобные штуки, но, возможно, это поможет кому-нибудь найти (и об'яснить, что важно!) смешную ошибку у коллег/подопечных, либо во время изучения Си и связанных языков.
Пенсионерка останавливает на улице: -- Молодой человек...подскажите, пожалуйста... к кому можно тут обратиться... в какую организацию... чтобы провели кабельный интернет?
О_о Ничего не смог ответить, т.к. сам был не "с этого района".
А почему бы не делать пластиковые бутылки, которые уменьшаются у размере (в длине, а не в диаметре) по мере употребления их содержимого? Чем больше выпил, тем удобнее носить.
Дворы, которые закрывают на шлагбаум, имеют, в основном, две системы открытия -- звонок с мобильного телефона (телефон хранится в базе) и от брелка.
Оказывается, в дворах, где работает система работает от брелков ТОЖЕ, бывают случаи ПРОДАЖИ брелков левым чувакам, которые рядом работают, чтобы они парковали свои машины в этом дворе. При этом цена за брелок в 5-10 раз выше, чем для жителей. А продают... сами жители.
Поэтому в некоторых дворах систему с брелками отключают. Но... это приводит к тому, что во двор не могут попасть те, у кого сел телефон или на нём закончились деньги...
Никаких знакомых не встретил. На 1 записались 56 человек, 2 -- 150, 3 -- 132, 4 -- 171, 5 -- 122. Показатели по числу примерно те же, что и в те разы. Самого Главного Мужика, который ломал мой карандаш в прошлый раз, зовут Сергей Петрович. Интересно, кто он.
Ну, более-менее, хотя аудирование мог завалить. В любом случае, совокупные ощущения гораздо лучше, чем в предыдущие джва раза (и насморк не повлиял на восприятие). Более того, я прочитал почти все тексты и у меня осталось ещё 15 (!) минут. Поэтому я вернулся к упоротому письму, которое я изначально просто пропустил и ответил наугад, и прочитал его нормально. Упоротое письмо -- очень кэйго и очень канго письмо о задержке поставок продукции фирмы её клиентам. Они реально так пишут официальные письма? Жесть.
Словарь и иероглифы. Знал гораздо лучше, чем в те разы. Грамматика. Книжка 45日間で完全マスター N1文法総まとめ подходит для подготовки -- выражения те самые. Чтение. Открываю первый текст. Заголовок: 牛の気持ち ("что чувствует бык"). Выпадаю в осадок. Мда. Это единственный текст, который я почти не прочитал, кстати (только нужное смотрел). Вообще, тексты N1 скучные -- сплошная публицистика. Опять был один вертикальный текст -- и это тенденция -- уже 3-й раз иду и 3-й раз один текст вертикальный. Аудирование. В целом, понятно, о чём говорят, хотя есть задания с огромным числом канго и везде говорят очень быстро. Но когда задают вопрос -- оказывается, что хотя ты уловил общую суть повествования, на вопрос ответить не можешь. Во-первых, потому что именно то, о чём спрашивают в вопросе, не понял в основном разговоре, а во-вторых -- потому что в вариантах ответа используются незнакомые канго и непонятно, о чём варианты ответа сами!)
При входе опять продавали разные книжки, при этом доля букинистики сильно выросла -- кто-то распродавал свою библиотеку? Был очень крутой словарь иероглифов, изданный в Японии. Но за него хотели пять тысяч (!), а у меня (слава богу) с собой было только две. Был ещё I am a cat, но в переводе на английский. Не взял.
В гардероб в этот раз все вешали курточки сами и сами брали номерки. Работа на честность!
Посылаю лучи поноса тем, кто планировал расстановку парт и стульев в ВШЭ. Сколько раз уже туда ходил (в т.ч. на другой площадке на Покровке), парты и стулья стоят так, что за парту просто невозможно залезть. Трудно об'яснить это словами. Стулья стоят так близко от других стульев по бокам, что между ними даже нога не пролезает. А расстояние до следующего ряда такое маленькое, что отодвинуть стулья тоже не представляется возможным. Круглые парты с вырезом -- вообще нечто. А стулья -- для актовых залов, а не для учёбы. Надо было либо делать обычные школьные парты и стулья, либо как в некоторых институтах -- длинные парты на 10 человек и откидные сиденья, которые схлопываются, когда встаёшь. Никуда не надо пролезать, а когда все встали -- пройти очень легко -- даже разминуться с соседом можно.
Для словарного запаса я за 1.5 месяца до экзамена я расчехлил Анки (спасибо Minoru за пинок) и добавил туда: 1. Прошлогоднюю колоду слов N1 (2700 слов) -- 100 новых в день. 2. Колоду JLPT N2, которая оказалась колодой JLPT2 (4000 с чем-то слов) -- 100 новых в день. 3. Колоду JLPT N3 (около 2000 слов). Видя количество повторов в этой и в предыдущей колоде я понял, что предыдущая колода была не N2 -- 50 новых в день. 4. Колоду Better JLPT1 Kanji package (2100 иероглифов) -- 20 новых в день.
Всё это время я крутил карточки по 1.5-3 часа в день (время сначала возрастало до тех пор, пока в колоде слов N1 не кончились карточки, потом начало падать). Итого получилось около 100 часов. Должен отметить следующее: 1) Хотя я начал учить колоду слов N1 с нуля, в этот раз запоминание прошло гораздо легче. Так, ни разу число повторов в день не достигло 500, а в прошлом году такое бывало. Это, вообще, странно, т.к. когда я пытался готовиться летом (но не смог), я не мог вспомнить почти ни одного слова из долга, накопленного за полгода (а в прошлом году зимой я не успел допросмотреть все карточки до экзамена, а когда допросмотрел ПОСЛЕ, я забил на это задротство). Кроме того, в этом году у меня не пухла от слов голова, как она пухла все предыдущие подготовки. А я взял 270 новых слов в день (на практике около 130, т.к. часть я уже знал). 2) Я не расчитывал просмотреть все кандзи из колоды Better JLPT1 Kanji до экзамена, поэтому поставил всего 20 новых в день. Это оказалось многовато, особенно на первых порах. Разумеется, часть иероглифов я уже знал, но всё равно было тяжело (и ещё будет тяжело). На текущий момент я просмотрел около 800 знаков из 2100, при этом в Mature попасть успело 273 знака. Т.к. знаки я смотрел все подряд, узнал много таких, которые мне вряд ли когда-нибудь пригодятся. Например, исключённый из списков иероглиф 銑 -- "чугун в чушках". Потом оказалось (по логам), что я его уже видел до этого, когда смотрел, какие иероглифы исключили, но... забыл. Поэтому он порадовал меня вторично.
Иду по подземному переходу, вижу в ларьке шмотка. Над ней написано от руки фломастером -- "детский халат "Плющ" -- всего за 500 рублей!". Я думаю: так, плющ... "цута"... "тё:". (蔦
3) Обнаружил, что одновременное изучение иероглифов и сочетаний помогает друг другу. До этого я был сторонником того, чтобы учить только сочетания, а иероглифы выучится сами. Это действительно так, но если учить иероглифы ТОЖЕ, сочетания будут запоминаться быстрее -- потому что в них начинает видеться логика. 4) Результаты такие: словарь N1 -- 67% Mature, 33% Young, N2, N3 -- 50/50. JLPT1 Kanji -- 13% Mature, 28% Young, 59% Unseen.
Для чтения я только дочитал 2-й том Сигофуми, который не мог прочитать с апреля и прочитал треть-половину ранобэ Murasaki-iro no Qualia (во избежание спойлеров текст поста не читал), которую хвалил г-н himself.
Для аудирования я посмотрел 7 серий Panty & Stocking и столько же Grisaia no Kajitsu без титров (меньше одной серии в день! потому что часть свободного времени я заставлял себя учить слова по Анки, а часть -- собственно говоря их учил).
Для грамматики я пролистал книжку 45日間で完全マスター N1文法総まとめ (есть на рутрекере; правда сделал я это не за 45 дней, а всего лишь за 4). Был очень удивлён. Из настоящей грамматики там только про образование страдательного залога (!). Что-то поздно они решили его дать. Ещё из грамматики там некоторые особо упоротые вежливые выражения типа -рарэру (которые я помню из Киэды). В остальном это некие "общепринятые выражения", часть из которых легко разбирается грамматически на кусочки и их смысл понимается без всяких книжек, а часть -- такие, что догадаться об их значении невозможно без пояснений (я предполагаю, что они все из первой категории, но мне знаний не хватает воспринимать вторые как первые). Из книжки мало что запомнил.
Короче говоря, я подготовился мощно, но недостаточно. Однако настолько готов я ещё не был.
Для улучшения случайности я заработал в пятницу простуду и вообще не знаю, останусь дома или пойду таки не экзамен, а если пойду, то в каком буду состоянии.
Было устройство, которое подключалось через переходник RS-232 на USB. Определялось как виртуальный COM-порт. Купили новую партию -- теперь определяется как HID-устройство ввода. Звоню изготовителю.
-- Алло, у меня вопрос по поводу подключения вашего устройства к компьютеру. -- Хорошо. Сейчас мы вас соединим с Сергеем. А вы из какой организации? А как вас зовут? А телефон какой? Я называю. -- Так, мы вас сейчас соединим с Сергеем, запомнили? С Сергеем. Играет музыка. -- Алло. -- Алло. Сергей? -- Нет. Василий. -- А мне сказали, что соединят с Сергеем. -- Ну... мы посовещались и передумали. -- Понятно. У меня вопрос по подключению вашего устройства к компьютеру. При подключении оно определяется как HID-устройство ввода. А нам надо -- как виртуальный COM-порт. Как это сделать? -- Это невозможно. -- А раньше было возможно. -- Мы специально отключили эту функцию, поскольку HID-устройство ввода лучше работает и не плодит COM-порты. А в чём проблема с работой? -- Ну, вы понимаете, мы уже раньше работали с вашими устройствами и у нас ПО заточено под виртуальные COM-порты. -- А ПО ваше самописное? -- Да. -- Ну так перепишите! Я во весь голос смеюсь в трубку. -- Вы зря смеётесь -- это не сложно. У вас высокоуровневый язык программирования? -- Да. -- Ну тогда есть готовые модули по работе с такими устройствами.
А давайте при очередной смене денежных знаков введём экспоненциальную запись номинала! Допустим...
"1e6 рублей" -- миллион рублей (можно и 1・106, но форма с e короче, её легче писать и сложнее ошибиться)
"1e-2 рублей" -- одна копейка.
"Вам на счёт поступила сумма 2.5e2 рублей."
При маленьком числе нулей плюсы не очень заметны, но вот при большом...
"Счёт на оплату за электричество в среднем по Москве в этом месяце составит 7.2е8 рублей." "Темпы инфляции снизились до 90% в месяц. Батон хлеба стоит 1e20 рублей." "С 1 января 2016 года штраф за безбилетный проезд составит 1е50 рублей."
Заметил, что в последнее время читаю сплошь рассказы и давно не читал никакого романа, хм.
Я прочёл уже целых два сборника его рассказов (которых он наклепал штук двадцать) и так пока и не понял, что это за автор. Я не могу взять любой рассказ и сказать -- вот он, Мопассан! Вот в этом рассказе он проявляется в полной мере! Вот himself мне подсказывает, что всё дело в иронии, но она тут есть не во всех рассказах.
Самый смешной рассказ: "Задвижка". Про то как двое нашли, где уединиться. Самый впечатливший рассказ: "Шали". Это вообще наиболее крутой рассказ Мопассана из этих двух сборников.
"Бочонок" -- не думал, что обратная ипотека была уже тогда.
Впечатлили: "Сёстры Рондоли", "Самоубийцы" (очень страшно), "Болезнь Андре" (Андре был догадливый, за что и поплатился), "Награждён!" (смешно), "Мудрец" (в последнем особенно это: "Про таких женщин говорят -- "Она принялась уже за третьего мужа").
Пока я вижу три основных направления в рассказах -- про любовь (порой, весьма своеобразно), про нехорошие поступки людей и (мало) про мистику (может быть всё одновременно).
В автобусе передо мной у турникета стоит девушка (лица которой я не видел ни до, ни после), которая вместо того, чтобы прикладывать проездной к кружку на валидаторе, прикладывает его к табло с цифрами (обычно так делают не местные и пенсионеры). Валидатор, естественно, не срабатывает. Очередь на вход стоит, а я следующий. Я думаю, как ей об'яснить, что делать. Но не могу придумать. Тогда я хватаю её за запястье, чтобы приложить билет в нужное место.
В этот момент она роняет проездной билет. Фейл.
Я наконец подбираю слова. "Извините. Нужно прикладывать к кружку".
Она не обернулась, но приложила к кружку. Сказала ли она что-либо, я не знаю, т.к. был в наушниках.
Если лезешь на приставную лестницу, проверь сначала, куда будешь падать, если она начнёт вместе с тобой падать оттуда, куда была приставлена. Однажды я не проверил, но мне повезло.
Я забыл пароль на сайте. Жму -- "восстановить пароль". Мне высылают. Ну, ладно, что они его выслали открытым текстом (что, конечно, нехорошо). Так они приписали "Вот вам новый пароль -- лучше прежнего"!
Мне не нравится, когда люди не могут кратко сформулировать свою мысль, которую можно сформулировать кратко. Высказав основную мысль в общих чертах и сделав паузу (вроде всё, разговор окончен), они неожиданно начинают уточнять мысль. Уточнив и сделав паузу, они уточняют её ещё раз. Это может длиться довольно долго. Это приводит: 1) К невозможности вставить своё слово для корректировки, либо перевести разговор в другое русло; 2) К невозможности прервать разговор, потому что ты всё понял; 3) К невозможности закончить разговор, потому что не можешь/не хочешь разговаривать. (потому что перебивать не вежливо, а человек никак не замолкает)
А самое страшное, что я сам себя порой ловлю на подобном.
"А у меня вот знакомый, он говорит, что Си сложнее, чем Си++..." "Ну, если сначала учить Си, то да. А если наоборот -- то нет." "Ну... он сначала выучил Си++, а потом попробовал Си... и не смог разобраться..."
О_о Хотел бы я поговорить с этим его знакомым. Интересно, насколькоон выучил Си++...
Сегодня знаменательный день. Я лично спалил контроллер стоимостью 5 тысяч рублей (обычно я так не поступаю).
Как это произошло?
Сначала я спокойно отлаживал программу общения с ним, а потом меня начальник позвал в другое место. Я отодвинул контроллер, встал с рабочего места и отошёл в сторону. Потом вижу краем глаза -- что-то не то. Смотрю -- дымок развевается... Потом вспышка пламени и красный уголёк микросхемы в дали. Я метнулся и отключил питание, но оплавленный пластик уже остывал...
Всегда хочется разобраться в причинах произошедшего. Оказалось, что я не посмотрел, куда положил контроллер. А лёг он на мои личные наушники, которые я с себя снял, чтобы не мешали. У наушников была металлическая дужка. Эта дужка вызвала короткое замыкание на ножках силовой (24 вольта) микросхемы платы.