Часто сталкиваюсь с расхожим мнением, что с пятидесятых годов прошлого века ничего принципиально нового в науке не открыто. Это всё равно что сказать, что со времён Ньютона ничего принципиально нового не было открыто в области мат. анализа, ведь тогда уже существовало непротиворечивое определение бесконечно малых! Однако Ньютон в своих работах мат. анализ не использовал, а обходился больше геометрическими методами. Ведь для того, чтобы анализ стал пригоден для практических вычислений, предстояло ещё доказать разные теоремы Вейерштрасса, чего тогда ещё сделано не было.
Вопрос геймерам. Подбираете ли вы IRL монетки, валяющиеся под ногами?
пятница, 8 июля 2011 г.
понедельник, 6 июня 2011 г.
Забывчивая таблица
Сколько же интересного происходит, если у DataGridView с привязкой данных в дизайнере форм случайно сбросить свойство CausesValidation в false... Куда там #define + -!
вторник, 17 мая 2011 г.
Русское народное
Юрий Иванович болтики ворует
Болтики болтики я ворую болтики
Болтики болтики я ворую болтики
Лето кончается августом погожим
Юрий Иванович говорит прохожим:
Болтики болтики я ворую болтики
Болтики болтики я ворую болтики
Лето кончается солнце то ли в крынке
Юрий Иванович продает на рынке
Болтики болтики ворованные болтики
Болтики болтики ворованные болтики
Болтики болтики я ворую болтики
Болтики болтики я ворую болтики
четверг, 21 апреля 2011 г.
Об организации труда
Каждый сотрудник, придя в офис, должен зафиксировать время своего прихода на специальном японском листке, вставив его в особое устройство, где напечатается время прихода с точностью до секунды. То же самое со временем ухода. По этому листку и выявляются опоздания. Также фиксируется время включения и отключения твоего компьютера. А если вдруг понадобилось выйти, скажем, по нужде, покурить или еще что-то, процедура следующая: 1. В компьютере выбрать функцию «Выйти», вписать, куда идешь, цель, ориентировочное время возвращения, и контактный телефон. 2. В журнале офис-менеджера у входной двери вписать фамилию, время выхода, ориентировочное время возвращения, месторасположение. 3. По возращении зафиксировать в журнале и в программе время возвращения. Однако это не значит, что вы можете весь день шататься туда-сюда, расписываясь в «бортовом» журнале. Как бы не так! На обед и прочее покидание рабочего места выделяется ровно 1 час в день. |
С одной стороны, меня, к примеру, абсолютно не волнует, сколько времени человек сидит в офисе и чем он в это время занимается. Пусть хоть целыми днями пасьянсы раскладывает или вообще на работу не ходит. Главное, чтобы результат был, качественно и во время. От неумения количественно оценивать эффективность работы часто и возникают всякие перегибы с избыточным контролем, отключением интернета и т.д. А иные люди и для дизайнеров такие показатели внедряют.
С другой же стороны, многие работники - как дети. Стоит чуть ослабить надзор - опять нашалят. Вот и приходится общаться с ними, как с детьми - "пока уроки не сделаешь - за приставку не садись".
среда, 30 марта 2011 г.
Про автоподбор ширины и не только
Недавно встала передо мной задача - сделать автоподбор по ширине для столбцов в таблице System.Windows.Forms.DataGridView. Оказалось, что в том случае, когда столбцов в таблице около двадцати, а рядов - около двадцати тысяч, решение задачи неочевидно.
четверг, 24 марта 2011 г.
понедельник, 21 марта 2011 г.
Утренний бред
понедельник, 14 марта 2011 г.
Страшный сон
Не далее, как вчера, снилась игра в стиле visual novel, кавайные девочки набигают болтают в темпе Лаки Стар. Текст, как и положено, появляется на экране и меняется в том же темпе, а я не очень успешно пытаюсь вставить хоть слово. Знающие, скажите, есть такие игры? Джва дня жду!
среда, 9 марта 2011 г.
Как писать неподдерживаемый код
In the interests of creating employment opportunities in the Java programming field, I am passing on these tips from the masters on how to write code that is so difficult to maintain, that the people who come after you will take years to make even the simplest changes. ...Here's a real life example written by a master. Let's look at all the different techniques he packed into this single C function. void* Realocate(void*buf, int os, int ns) |
Статья о том, как писать сложный для понимания код. Далее перевод некоторых фрагментов.
суббота, 5 марта 2011 г.
Опять про Навального
Итак, весь оппозиционный балаган в РФ – это дело рук иностранных специалистов, нанятых Администрацией. Естественно, что порожденные таким образом политические силы ничего не делают против режима. Потому что их задача – поддержать режим. Создавать белый шум, создавать видимость, создавать атмосферу безнадежности. |
Сколько читал Навального, ни разу не возникало такого ощущения! Наоборот, он всегда говорит, что нужно бороться со всякими косяками в госуправлении, что не нужно бояться возмездия со стороны жуликов, что они все существа бздлявые и безыдейные.
четверг, 3 марта 2011 г.
Обзор Yosion Apple Peel 520
После очередного случая с мобилой решил не умножать сущностей и приспособить под телефон имеющийся у меня четвёртый айпод. Или желание опустить Джобса на стоимость айфона было сильнее? Не знаю. В общем, заказал я в известном интернет-магазине утройство под названием Yosion Apple Peel 520.
суббота, 26 февраля 2011 г.
четверг, 24 февраля 2011 г.
Программерское - 2
Под катом вариация на тему StringBuilder для интересующихся.
понедельник, 21 февраля 2011 г.
Русская журналистика
Пытаюсь время от времени смотреть зомбоящик, но продерживаюсь всякий раз максимум 10 минут. Ток-шоу все одинаковые - кто кого перекричит. Нет ни одного грамотного ведущего, все устраивают балаган. В тематических передачах напрягает стиль подачи материала, за которым явно просматривается погоня за рейтингом и сенсацией и клание большого и толстого на полезность подаваемого материала. Новости - тут я вообще молчу. Один знакомый журналист мне открыто говорил, что все "разоблачения" согласовываются с Кремлём, иначе накажут, вплоть до посадки. Были прецеденты.
В общем, плохо сделано, тупо. Нирикамендую такой телек.
Военная тематика
воскресенье, 20 февраля 2011 г.
Охота с вертолётов
О безопасности при покупках по интернету
Прочитанные у френдов несколько постов про интернет-торговлю побудили меня написать немного о безопасности.
Не секрет, что при любой покупке через сеть мы предоставляем продавцу все необходимые реквизиты для списания денег. Списать он может сколько угодно и не один раз, это дыра в безопасности и её надо закрывать. Во многих банках из-за этого возможность покупки по интернету по-умолчанию отключают, или разводят клиентов на одноразовые карты для интернет-торговли. Я же использую для защиты следующую несложную схему.
суббота, 19 февраля 2011 г.
Естественный отбор
Обсуждают тут статью, типа аниме - зло, аниме убивает. И вот вспомнилась мне одна история.
Пару лет назад я отдыхал в быдлотурции, и там была экскурсия, где катали на яхте. Ближе к концу яхта подплывала к скалистому обрыву и турки предлагали подплыть к берегу и залезть по скале в "пещеру пиратов". Няшную такую пещеру, со сталактитами. Народ вместе со мной полз на четвереньках по узкой кишке. Выход из неё был на высоте около десяти метров над уровнем моря. Оттуда предлагалось спрыгнуть в море, причём назад не пролезть - лаз закрыла своими задами следующая группа туристов. Так вот, я прыгал, все остальные много лет прыгали - и ничего, более того, круто!
Но знакомые мне сказали, что из-за одного дебила, разбившегося насмерть, эту часть экскурсии год назад отменили.
Papercraft
пятница, 18 февраля 2011 г.
Монетки
Опять же программерское
Итак, 94-ФЗ должен в идеале работать так: «Заказчик определил объем работ — выставил на торги — победил сильнейший и дешевейший — сделал — все счастливы». Реально же в ИТ-конкурсах получается так: «Заказчик примерно описал, что ему надо, — договорился с тем, кто будет это делать — договорились о цене — написали КД — обеспечили победу подрядчика — параллельно все это время он делал работу — все счастливы». В тех редчайших случаях, когда заказчик все-таки сам формулирует требования, — счастье как правило не приходит вовсе... Является ли эта схема коррупциогенной? Да. Ибо коррупция здесь неконтролируема и соблазн ее возникновения слишком велик. Чем платит подрядчик за то, что выбирают именно его? Как и за что заказчик отсекает других? Как подрядчик убеждает заказчика, что он лучше всех? На какие ухищрения идут, чтобы конкурс не выиграл кто-то «левый»? Для решения каждого из этих вопросов очень хорошо подходит конвертик с деньгами, и рано или поздно он возникает. Именно эта совокупность обстоятельств и приводит меня к той мысли, что государственные деньги прокляты, и компания-разработчик, которая участвует в конкурсах и претендует на них, — продает душу дьяволу. |
Распилы и как с этим бороться
Про нелёгкую работу программиста с госконторами.
четверг, 17 февраля 2011 г.
Закон Мерфи
Допустим в какой-либо ситуации может произойти какое-то неприятное, или просто запоминающееся событие с вероятностью p. Противоположное же событие (неприятность не произошла) забывается с вероятностью q, в запущенных случаях q = 1. Тогда легко получить следующую формулу для кажущейся вероятности неприятного события:
p' = p / (pq - q + 1).
Опять же, в запущенных случаях p' = 1.
среда, 16 февраля 2011 г.
Про мобилу
С неделю назад в очередной раз продолбал мобилу. Она у меня стала рекодсменкой - держалась почти четыре года.
Армейское
Я был радистом, меня только запустили на самостоятельное боевое дежурство. множество приемников, но работает только два — связь с вышестоящим КП, и в углу система оповещения — которая молчала почти всегда. На КП работают "дятлы" — криворукие радисты, передачи которых, больше напоминают бубнение глухонемого, буквы кривые и сложно понимаемые. На оповещении стоит ДКМ — буквы ровненькие, тональный сигнал высокий, как птичка, которая чирикает утром. Его слышно крайне редко.
История
Моей прабабке под сотню. Сколько точно - никто не знает. Когда-то колхозникам не давали паспортов, поэтому она даже не помнит, когда у нее день рождения. Не надо только думать, что она давно впала в маразм. Она живет одна уже не первый десяток лет, но еще умудряется строчить жалобы на всяких чиновников. Грамотно, со сылками на законы. Её слушают, понимаете? Из-за неё даже из мэрии кого-то там уволили. Так вот. Недавно она рассказала мне историю, которой никогда не будет в наших учебниках.
Бабка во время войны жила в селе. Какой год был она уже не помнит, но события - очень чётко. В селе стояли немцы. Порядка сотни. Не знаю, как это называться должно. Когда пришли, устроили показательные казни, отобрали, что могли и остались ждать дальнейших приказов. У деда с бабкой жил довольно интеллегентный немец - переводчик, поэтому, наверное, им повезло. Короче, пятница. Фрицы собрались на сельской площади слушать приказ. ВНЕЗАПНО! Из клуба в бурке и на коне рысью выносится Сталин. В генералиссимусской форме (может это как-то поможет год определить, кто прошарен), одна рука прижата к груди. За удила даже не держится - здоровая рука занята шашкой. Сталин лихо вклинивается со спины в строй фрицев, отрубая на пути головы. Буквально одна минута - и все мертвы. И ни единого выстрела. Все очень чётко. И вот суть истории... Рядом на площади были зеваки. Без этого никак. И была девочка лет десяти. От крови-кишок она, понятно, громко заплакала. Только этот плач и нарушил тишину после рубки. Сталин подъехал к ней на коне и из нагрудного кармана дал ей леденец. Девочка сразу перестала плакать. Сталин улыбнулся и поскакал по направлению на Москву. И я верю, что всё так и было. Потому что моя бабка - очевидица, а не диванный философ!
вторник, 15 февраля 2011 г.
Чисто программерское
Вот пара примеров.
Из очевидного - в хорошей, годной пользовательской форме основные команды должны дублироваться в меню, тулбаре, спецклавишами, и вообще, на что фантазии хватит. В результате одному пользователю будет удобнее работать с клавиатуры, другому через всплывающее меню, и т.д.. Короче, все довольны.
И ещё. Не далее, как вчера, столкнулся с задачей пройтись по некоей таблице на базе MSSQL c целью поиска и замены фрагментов текста в поле типа ntext. Поле длинное и в nvarchar его не сконвертировать, и функция replace тоже не работает. А из SQL-процедуры выходить не хочется. Что делать? Есть команда readtext. Но она только выдаёт текст клиенту (если работать с консоли - выводит на консоль). Сохранить текст в переменную и проверить его нельзя. И тут-то помогает большая вариативность T-SQL! Нужно всего вызывать readtext внутри ещё одной процедуры, а результат этой подпроцедуры вставлять во временную таблицу, где его можно посмотреть и проверить.