понедельник, 29 сентября 2014 г.

Логотипов пост

Из журнала Нины:
Обсуждаем, почему на тортике в честь 17-летия Яндекса не было логотипа Яндекс.Мастера https://master.yandex.ru/ -- он как раз выкатывался на широкую аудиторию в тот же день. Руководитель разработки:
-- Да, можно было бы отдать логотип кондитерам. Но не сказать, что за сервис. Ну рука на логотипе, ну что тут скажешь?! Сервис Яндекс.Рука... Dating, наверное...

четверг, 25 сентября 2014 г.

Гранд макет Россия

Намедни посетил сабж. Что это - подробней можно узнать на сайте.
Своими словами - макет России в масштабе 1 к 200 000

Коротко - настоятельно рекомендую к посещению. Детей сводить - непременно. Взрослых детей - обязательно. входной билет стоимостью 400 рублей отбивается уже на первых метрах. Два часа непрерывного восторга и криков: "смотри, смотри, вот тут..."

Ну и дальше - фоточки. Их не смотрите, лучше - сходить.
Задержание  браконьеров:
Несанкционированный либеральный митинг:
Велосипедисты где-то на шоссе в центральной россии:
36560 подсолнухов:
И вид на них сверху:
Кавказская пленница. там вообще много сюжетов и аллюзий:
Каякеры и прочие байдарочники:
Альпинисты:
С урала едет состав с танками:
Пробка в Шереметьево:
Рекурсия. Говорят у него внутри есть гранд макет и на нем еще гранд макет...
Кошка на балконе:
Иногда в центре страны внезапно возникает сотрудник и утаскивает в недра какой-нибудь дом или автомобиль:
Аисты принесли детей в капусту:
Побег из тюрьмы:
Хорошая шутка:
Лесной пожар. С настоящим дымом:
Охота на медведя:
Парапланеристы:
Уиииии! Велоавария!
И финиш велогонки:
Еще аист с ребенком, уже у роддома:
Журналисты и НЛО:
Рисует граффити на заборе:
Оператор метро и поездов грандмакета:
И их схема:


понедельник, 22 сентября 2014 г.

Бегущий город

Намедни знатно прокатились с Игорем, принимая участие в сабже.
Как то так:
Понравилось.
Стартовали самыми первыми в 9 утра. На старте - масса знакомых лиц. У всех - ну очень сложные лица, сфинксы, хуле. А мы всадники, у нас лица грязные, ибо с утра еще не подсохло.

Стартанули неплохо, но, возможно - потеряли немного времени, так как забыли получить бонусное задание, пришлось метнуться обратно до старта, впрочем нам списали на это несколько минут. Бонусное взяли, потратив около 45 лишних минут при том, что за него списывалось 40.

Еще из неясных моментов - одно из заданий: год кончины рабы божьей Татьяны, что написан на надгробном камне у Декабристов 58. Первое - мы этого камня не нашли. Совсем.
Второе - этот КП уже был в 2009 году и ответ в первой строчке выдачи гугла. И ответ странный - XXXX. Именно, четыре икса.
Может мы не там искали, у кого-нибудь есть фото?

Маршрут - довольно неплохой, мало центра, много парков, ботаника - мое почтение, даже обнаружил одну полутайную велодорожку около объездной.
Мутный центр быстро проезжали по проезжей части, время между КП по ощущениям 10-15 минут.
Небо (человек за компом, занимающийся прокладкой маршрута и голосовым управлением участников) особо не понадобилось, хотя на следующий город я хочу попытаться устроить так: в одну сторону голос по рации, диктующий направление движения и задание, в другую - координаты команды в режиме реального времени. По ощущениям - можно сэкономить минут сорок времени, и вроде даже не запрещено правилами. Впрочем, мне скорее интересна эффективность такого способа, чем достижение победы с его помощью.

Финишировали примерно в три часа, вторыми из всадников, первые приехали аж в час.
Впрочем, это почти ничего не значит, так как они не брали бонусное, они не метались за ним на старт - по сумме времени у нас есть шанс обойти.
А есть шанс и слить, так как старт раздельный и большинство команд на велосипедах стартовало часа на полтора позже нас. Обратно же - зачет сперва по КП, а потом уже - по времени.
Будем посмотреть.

пятница, 19 сентября 2014 г.

Урок 4. Слайд 180-182

Напоминаю, последний день регистрации на сессию тестирования - ближайший понедельник.
Тестовое окружение уже готово:




Поехали:

Слайд 180
Арифметика с плавающей точкой в двоичной системе по существу то же самое, что в десятичной. в 32-битных словах первый бит - знак мантиссы. Следующие 8 бит - знак и значение экспоненты. Остальные 23 - мантисса. Это примерно соответствует 10 знакам десятичного числа.

Слайд 181
Также мы можем удвоить точность, используя 64 разряда, в этом случае у нас будет 52 бита мантиссы.

Слайд 182
Вместе с десятичной и двоичной системой мы часто говорим о шестнадцатеричной. В этом случае наш диапазон значений цифры - от 0 до 15.

четверг, 18 сентября 2014 г.

Урок 4. Слайд 177-179

Поехали:

Слайд 177
 Разрядность integer чаще определяется языком программирования, нежели компьютерным чипом. Это дает нам возможность проводить вычисления с помощью одной программы с одинаковой точностью на разных типах компьютеров. Для некоторых особых компьютеров integer может занимать больше или меньше одного компьютерного слова (разрядности компьютера).

Слайд 178
Так как integer имеет разный размер в разных языках программирования, мы часто рассматриваем minInt и maxInt - минимальное и максимальное значения integer на этой языке и на этой системе.

Слайд 179
Java поддерживает 4 типа integer, от 8 до 64 бит. Я видел integer с 12,24, 48 и 128 битами. Когда проектируете тесты, сосредоточтесь на работе с ограничениями minInt и maxInt, вместо того, чтоб думать о разрядностях. Опишите в тесте эти ограничения. Создайте специальные константы для этих чисел, но понимайте, что чем чаще вы их используете в коде, документации и тестах, тем больше вероятность, что они устареют, тем сложнее будет использовать эти проверки на другой системе или на другом языке или в случае ерфакторинга программы с использованием integer другой разрядности.

среда, 17 сентября 2014 г.

Урок 4. Слайд 174-176

Поехали:

Слайд 175
Самое большое число, которое вы можете хранить, используя 8 бит, это 255. Добавьте что угодно к 255 и вы получите переполнение. Многие программисты продолжают работать с 8-битными числами даже на компьютерах с 64-бинтыми словами. Их цель - уместить код и данные в крошечном объеме. Иногда это необходимо, так как процессор может работать с оборудованием с очень небольшим количеством памяти. В остальных случаях такое ограничение необходимо, если риск работы с 8-битными структурами есть и велик. Если вам известно, что вычисления производятся с 8 или 16 битными структурами, то вам необходимо проверять на переполнение.

Слайд 176
Так же, как и с десятичными числами, нам нужны не только положительные числа, но и отрицательные. Поэтому первый бит воспринимается как бит знака.

Слайд 177
Несколько раз я упоминал размер слов. Центральный процессор получает данные из памяти кусками. Старые процессоры получали 8 или 12 бит зараз. Новые получают 32 или 64 бита.Мы называем это размером слова. 64-разрядные компьютеры оперируют 64 битами.

вторник, 16 сентября 2014 г.

Урок 4. Слайд 171-173

Quad damage!

(Это только те репосты, что шли подряд в ленте, есть и еще)
Спасибо, друзья.

Поехали:

Слайд 171
Вместо десятичной арифметики, компьютеры используют двоичную.
На следующих нескольких слайдах я продолжу использовать разряды, но они теперь двоичные, а не десятичные. В них может содержаться 0 или 1.Вот число 15 в двоичной системе: 1111=2^3+2^2+2^1+2^0

Слайд 172
Еще одно соглашение - байт, состоящий из 8 бит, от 2^0 до 2^7.

Слайд 173
У нас есть возможность добавлять бинарные цифры так же, как десятичные, с той разницей, что переполнение происходит чуть быстрее. в десятичной системе 5+5=10.
В двоичной 1+1=10.
В системе из 8 бит это будет записано как  00000010

понедельник, 15 сентября 2014 г.

Вторая городская сессия тестирования.

Регистрация открыта. Присоединяйся. Засылай всем  знакомым и незнакомым тестерам.
http://testsession.timepad.ru/event/139949/
(сегодня почему-то тормозит timepad)

Группка в ВК для вопросов, обсуждений и ответов.
https://vk.com/event77162421
Вот рассказ о первой

Урок 4. Слайд 168-170

Найдено у plakhov:

Это вероятности "выживания" фигур и пешек в шахматной партии, посчитанные по базе из 2.2 миллионов (!) турнирных партий.
Довольно неожиданно, но, если вдуматься, логично. В битве лучше всего быть королем, но если уж не так повезло - тогда пешкой где-нибудь с краю.

Поехали:

Слайд 168
Можно добавить больше точности нашему числу просто храня больше цифр в мантиссе. Вся разница между двойной и тройной точностью чисел заключается в количестве цифр мантиссы. Еще способ увеличить диапазон чисел с плавающей точкой - использовать больше цифр в степени. Как мы уже говорили, у нас есть возможность выражать и отрицательные числа в этой арифметике, просто храня знак мантиссы и небольшие числа, храня знак экспоненты.

Слайд 169
Предположим, у вас есть четыре значащих цифры и бит знака мантиссы, две цифры и бит знака экспоненты. Каков будет результат этих вычислений?

Содержимое слайда:
(1234*10^10)+(5678*10^-10)=?
(1234*10^10)*12=?

Слайд 170
Современные компьютеры обычно используют не десятичную, а двоичную систему.

пятница, 12 сентября 2014 г.

Урок 4. Слайд 166-167

Поехали

Слайд 166
Есть ограничение, которому тоже стоит уделить внимание.
Даже если наши числа позволяют отображать большой диапазон значение, у них все еще е сть только четыре значащие цифры.
Это значит, что число 12344 будет храниться как 12340. Для последнего знака нужна еще одна цифра.

Слайд 167
Я часто даю головоломку моим студентам: функцию, извлекающую корень из четырех и спрашиваю, будет ли ошибкой, если программа вернет 1.999999999 вместо 2.
Обычно студенты говорят, что это баг.
Но предположим, что программа хранит только 4 значащие цифры.  в чем разница между 1.9999 и 2 в таком случае? В памяти будет хранится одно и то же число.
предположим тогда, что это не баг, когда 1.9999 интерпретируется как 2.
Что если мы будем извлекать корень из 3.999. Корень из этого числа 1.99975. Для четырех значащих цифр мы все еще получаем 2. Это большая ошибка?
Арифметика с плавающей точкой имеет фундаментальное ограничение. В вычислениях присутствует ошибка округления. После выполнения операции, такой как корень, мы не найдем различий между 1.9995, 1.9999 и 2. Все они будут хранится как 2, но в терминах величины ошибки, будет большей ошибкой приравнять 1.99975 к 2, чем 1.9999

Тренировок пост

Намедни устроили с Колей заезд покатать на горку у московского лесопарка, что за бетонкой и отстойником.
Горка 800м вперед, 50м вверх, средний уклон 6%, в пиках 10-12%.
В первый раз по ней катал с туристами в мае, заехал в два захода с передыхами, за 9 минут.

К делу. Вот так тренируюсь я:
Вот так тренируется Коля:
А вот так - спортсмены:
Что тут сказать еще?

четверг, 11 сентября 2014 г.

Велосуббота

Возможно, ближайшая суббота - один из последних теплых дней этого сезона.
Потому - предлагаю прокатиться: Московский лесопарк - Гора Хрустальная - озеро Глухое - Палкинские Торфяники - 7 ключей.



Ссылка на карту:
http://maps.yandex.ru/?um=j8OfCtypaMQZBIAJgVO5TX_ZA92U8Lk1&l=map
Картинка:
Темп неспешный, хочу посмотреть на озеро и карьер. Фотки для привлечения внимания, раз:
Два:
Три:
Если есть другие предложения- с радостью выслушаю ваши версии на все эти счета.

Урок 4. Слайд 163-165

Намедни сбылась небольшая мечта, поставил почти весь комплект Deore: манетки,
шатуны,

передний и задний переключатели,  кассету
Тут же обкатал, с виду все в порядке. Непривычное, чуть смещенное расположение переключателей и отсутствие цифирьки передачи сперва немного смущали, но потом втянулся и скоро привыкну совсем.

Затем долго рассматривал старую кассету. Наполовину состояла из травы и земли даже после керхеровской мойки, надо будет прокачать скилл правильного мытья велосипеда, ага.

В целом - доволен. Отличный повод больше катать и тренироваться.

Поехали:

Слайд 163
Для упрощения читабельности чисел с плавающей точной, есть ряд соглашений.
Мантисса пишется с десятичной точкой после первой значащей цифры.
2.354*10^3=2345

Слайд 164
Вернемся к примеру с переполнением integer.
У нас есть четыре цифры для мантиссы и мы не можем записать число 13777.
Но мы могли бы представить его в виде 1.378*10^4, допуская небольшую потерю точности.

Слайд 165
Но у нас все еще есть проблема. Мы сжали мантиссу до четырех знаков, но где мы будем хранить степень? Без нее у нас есть только 1.378.
Решение - введение отдельного знака для степени. Теперь для записи числа нам необходимо 5 знаков, но в первом мы храним значение степени.
Тут есть один нюанс. Степень может быть как положительной, так и отрицательной. Необходима еще  одна ячейка для хранения знака.

среда, 10 сентября 2014 г.

Урок 4. Слайд 161-162

Когда-то давно, когда я составлял чеклист для я.города, я вписал в него такой пункт:
Там ссылка на статью в вики, в которой перечислены города, в которых есть метро.

Через какое-то время на это были написаны тесты, причем, когда делали задание на тестирование, видимо, ссылка потерялась.
Автотестеры сперва сильно удивлялись, потом ржали над таской, которая звучала как:
Метро должно быть в каждом городе РФ и Украины.
Шутили, спрашивали эстимейты, просили бюджеты, все как положено.
Намедни тест сработал, и я завел баг:

Он уже исправлен. Но какое-то время в моем родном городе тоже было метро:


Поехали:

Слайд 161
В арифметике с фиксированной точкой мы имеем возможность определить, какой диапазон чисел мы будем рассматривать с помощью перемещения десятичной точки.

Например, в последнем заявлении Microsoft говорится, что их выручка составила 62 484 000 тысячи долларов. Это не 62 миллиона долларов, это 62 миллиона тысяч долларов. Все числа до запятой в данном случае - тысячи долларов.

Десятичная точка остается фиксированной, но она не всегда находится между тысячами и их частями, так же как не всегда между целыми числами и их частями.

Слайд 162
Мы можем представить гораздо больше чисел с помощью арифметики с плавающей точкой. в этой арифметике мы представляем каждое число в виде двух чисел, мантиссы и экспоненты.
Примеры:
2345000 = 2.345*10^6
0.02345=2.345*10^-2
Используя те же несколько цифр мы значительно расширяем диапазон значений, которые можем представить.

среда, 3 сентября 2014 г.

Удивления пост

Намедни заметил новость о том, что недавно завершился конкурс мисс велогород. Был немало удивлен, увидев победительницу, Елену:
Я думал, покажут, например, Ксению:
Но я что, я ничего, мне не жалко, дело все равно хорошее.

Урок 4. Слайд 158-160

Сегодня на совещании по одной моей теме:
- Так, трекер нам поможет сделать %username%, уточнить пятнадцатого, с программистами и ПМом нужные фичи мы запланировали на следующую неделю, документы по NDA ты принесла сегодня, группу и рассылку создашь перед анонсом. Так, а мне что делать?

Грамотно подобранная команда проекта и участие в нем сугубо хороших людей творят чудеса.


Поехали:

Слайд 158
Десятые, сотые и тысячные доли представлены отрицательными степенями десятки.

Слайд 159
Точка используется для отделения отрицательных разрядов.

Слайд 160
Арифметика с фиксированной точкой похожа на работу с integer. В  integer у нас определенное количество цифр в числе, но их нельзя поделить на части. В случае фиксированной точки, число можно разделить, например $456.44 это 456 долларов и 44 цента (в качестве сотых долей доллара). Размер части после точки фиксирован, количество частей фиксировано.

вторник, 2 сентября 2014 г.

Урок 4. Слайд 149-157

Поехали:

Слайд 149
Мы можем представить любое число как степень десяти или как сумму целых степеней десяти.
954=9*10^2+5*10^1+4*10^0

Слайд  150
Мы используем ту же информацию при сложении.

Слайд 151
Когда мы складываем, мы можем переполнить разряд.
Когда вы складываете два однозначных числа, иногда вы тоже получаете однозначное число. Например 3+6=9.
Но иногда получается слишком большое число для одного разряда. Тогда необходим следующий разряд.

Слайд 152
Вместо того, чтоб пытаться добавить пальцев себе на руках, переключимся на разряды для чисел. В каждом разряде 10 цифр от 0 до 9. Два разряда дают нам числа от 0 до 99

Слайд 153-154
В четырех разрядах у нас будут храниться тысячи, десятки, сотни и единицы.

Слайд 155
Очень удобно в таком случае происходит сложение.

Слайд 156
В случае переполнения разряда мы обнуляем его и добавляем единицу к следующему разряду.

Слайд 157
Все работает нормально, пока мы не дойдем до последнего разряда. Компьютеры при хранении integer используют фиксированное количество разрядов. Если мы просуммируем два достаточно больших числа и сумма не войдет в разряды, мы получим integer owerflow.

понедельник, 1 сентября 2014 г.

Урок 4. Слайд 146-148

В субботу катались до Кедровки.
Решили просто прогуляться в неспешном темпе.
Дорога туда ничем, кроме того факта. что она ровная - не радовала.
Сама Кедровка - вполне мила. Центральная площадь:
И стелла:
Там же магазин из сети, которая существует только в деревнях, такая специализация, видимо:
А вот обратная дорога нам понравилась намного больше.
Во-первых, практически не было машин.
Во вторых - любопытно было, как выглядит радиоактивный комбинат:
Его мы, кстати, так и не увидели, прятался где то в лесу. Но в том месте, где он должен быть очень сильно пахло отходами, но не радиоактивными, а обычными. Странно.
 Я боялся, что там посреди дороги будут ворота и закрытая зона, но закрытость этой дороги от смертных определяется лишь двухметровой кучей земли посреди дороги, которую мы обошли по обочине. Легковушке, впрочем, там не проехать.

 Еще был классный вид на подъем:
И там дальше просто прекрасные места и виды.
По пути в калининский парк заехали в длинную закрытую частную зону под ЛЭПкой. Вышли из нее с другой стороны только благодаря доброте собаки, любезно выпустившей нас.
Вот так, тихо, мирно и не спеша намотали 70 километров по вполне красивой местности.
Рекомендую.


Поехали:

Слайд 146
Я не буду углубляться в этот материал - у меня есть только часть лекции перед тем, как вернуться к проблемам измерения покрытия.
Я надеюсь, что для некоторых из вас эта лекция станет стартовой точкой для того, чтоб прочитать больше о основах вычислительной техники.
Книга Сharles Petzold  "CODE" отлично подходит. Petzold использует историю для объяснения причин, лежащих в основе архитектуры компьютеров и языков программирования. Это отличная книга, прочтите ее.

Слайд 147
Рассмотрим. как компьютеры хранят данные и производят арифметические вычисления.

Содержимой слайда:
Базовое хранение и вычисления(десятичные)
  • десятичные числа
  • суммирование
  • переполнение
  • целые числа и числа с плавающей точкой
Базовое хранение и вычисления(бинарные)
  • представление
  • суммирование
  • переполнение
  • числа с плавающей точкой
Буквенно-цифровые и прочие

Слайд 148
А началось все с того. как считали люди. Мы работаем с десятичной системой, у нас есть 10 цифр, с 0 до 9.