|
|
Life is joy, magic and adventure

| Jan. 1st, 2020 12:00 am Для спама Комментарии к этой записи я не читаю никогда, они скринятся и приходят без уведомлений. Leave a comment | |

| May. 21st, 2012 09:49 am Old-Timers Originally posted by at Old-Timers 1 comment - Leave a comment | |

| May. 18th, 2012 06:56 pm Малосольный лосось Берёшь лосось, и мало солишь. Получается малосольный лосось. Солишь нормально - будет просто солёный.
Меня всегда поражало, почему простейшая, казалось бы, вещь - взять разрезанную сырую рыбу, добавить в неё соль, и оставить на некоторое время - считается достаточной причиной поднимать, как минимум, вдвое цену за кг.(lb). Соль это очень дешёвый продукт. Исполнение тривиально.
Ещё - всегда не было понятно, почему солёную рыбу называют копчёной, или зачем солёную копят, когда для получения желаемого результата достаточно просто посолить.
Раньше я думал, что это по незнанию. Может, люди думают, что вкусная солёная рыбка обязательно делается где-то на заводе, с кучей ингредиентов, ритуалов и технологических процессов, закатывается в дубовые бочки и выдерживается 20 лет как хороший коньяк... ну, судя по цене, именно это и должно происходить.
Сейчас я, из любопытства, погуглил, и увидел настоящую причину стоимости солёной рыбы. Куда ни глянь, дотошные рецепты - как "нарубить", куда положить соль, сахар (надо же!), какие-то специи, травку нарезать, оставить при комнатной температуре, нет, не оставлять при комнатной температуре, а вот самым настоящим способом делают у нас на Камчатке, вы все не умеете, рыба должна быть не мороженная, нет, свежая, нет, живая, нет, песни петь. Чем-то мне это напоминает код на Java, ей богу.
Настоящая причина дороговизны и сложности солёной рыбы в том, что люди страдают от скуки и безделья, у них просто слишком много времени на готовку и на придумывание сложных рецептов.
Короче, даю ленивый программерский рецепт. 36 секунд (!) работы и сутки ожидания.
1. Берётся кусок лосося (прямо так, как он продаётся в магазине). 2. Отрезается кусок, влезающий на небольшое блюдце (10 секунд). Шкурой вниз, (оголённым) пузом к верху. 3. Сверху сыпем соль (10 секунд). Для первого раза - одну-две столовых ложки, равномерно рассыпанные по поверхности этого небольшого куска. В следующий раз - по вкусу. 4. Открываем холодильник (3 секунды). 5. Кладём блюдце в холодильник (10 секунд). 6. Закрываем холодильник (3 секунды). 7. Через сутки достаём и режем на бутерброды.
Сюда же, чтобы два раза не вставать, диетическая рыба на ужин. 40 секунд работы и 7 минут ожидания.
1. Берётся кусок рыбы из морозильника. Кладётся на блюдце и в микроволновку на 2 минуты на high (10 секунд). Этого времени достаточно, чтобы разморозить, но не достаточно, чтобы приготовить. 2. Достаём блюдце, сливаем воду (5 секунд), достаём специи и посыпаем рыбу специями (10 секунд), кладём обратно в микроволновку на 5 минут (10 секунд). 3. Достаём и сразу перекладываем в другое блюдце, потому что первое горячее (5 секунд). Из этого другого блюдца уже можно есть.
Примечание 1: если вы захотите сэкономить 10 секунд, и сразу ставить на 7 минут, минуя п.1., то специи "съедут" (стекут?) с рыбы, вместе с водой после разморозки. Примечание 2: специи можно брать любые, ваши любимые,.. я использую какой-то микс "для стейка", в котором есть соль, перец, и ещё что-то. Главное условие: баночка со специями должна быть одна. Каждая дополнительная баночка прибавляет 10 секунд работы, и снижает ROI процесса.
Рыба будет по вкусу где-то между варёной и жареной, но приготовленная без капли масла, что отлично для здоровья. 17 comments - Leave a comment | |

| May. 18th, 2012 06:21 pm Нравятся Originally posted by birdwatcher at Нравятся Фотографии Марса, которые американское правительство сорок лет скрывает от своего народа. http://www.3dnews.ru/offsyanka/620405(рекомендовал glocka) 3 comments - Leave a comment | |

| May. 17th, 2012 04:06 pm Пароли Хочешь как лучше, а получается ... Я начал использовать генератор паролей в RoboForm, ну и выставил на 16 символов, микс из lower & upper case + digits.
Из 4 сайтов, накоторых я недавно регистрировался, 3 (!) не смогли меня залогинить после регистрации. На первых двух после нажатия "восстнаовить пароль", мне на e-mail пришли первые 15 символов моего пароля. На третьем (сайт моей медицинской страховки) я, уже наученный опытом, попробовал сами ввести первые 15 букв. Они не прошли, и сайт оказался locked out. Мне пришлось звонить в customer support, чтобы сняли лок. Там мне поменяли пароль, и я, не вешая трубуку, сделал себе новый и проверил его. Я спросил оператора, какие есть ограничения на длину или содержания пароля. Она сказала, что точно не знает, но она бы на моём месте ничего длиннее 9-10 символов не пробовала бы. 5 comments - Leave a comment | |

| May. 15th, 2012 11:45 am Ценность идеи Ломаем стереотипы: идеи сами по себе ничего не стоят. По-моему, многие этого не понимают всё ещё.
Originally posted by idealmachine at Ценность идеи Часто в среде стартапов обсуждают ценность идей. Задают вопросы, можно ли заниматься продажей идей, или что делать, если украдут идею.
Приведу несколько свежих примеров. Один человек спросил, сколько стоит идея. Можно ли их продавать в России? Вероятно, что самостоятельно реализовывать идеи дело не самое простое. Тем более, чтобы получить инвестиции стоит постараться написать убедительный бизнес-план. А для этого нужен опыт, консультации специалистов. Но зато, в итоге может получиться успешный проект. И он сможет окупить все затраты, понесенные на первом этапе. Если инвестиции не получены - то все равно опыт приобретается хороший. А комментарии экспертов будут полезным багажом.
Производить идеи ничего не стоит. Значит и рыночная стоимость у них весьма невысока.
Другой человек за пару часов рассказал в подробностях несколько идей для мобильных приложений. Часть из них уже написана, но не запущена, часть разрабатывается. Но при этом автор совершенно спокойно относится к тому, что рассказывает о своих идеях, не боясь, что кто-то с его идеей выйдет на рынок. Относится он к обозначенной проблеме философски - все в мире меняется и улучшается. Победил не тот, кто стал первым, а тот, кто стал более эффективным и интересным. Даже Skype (который ввел плату на некоторые услуги) в ближайшее время кто-то сможет обойти, предоставив более дешевый и альтернативный сервис.
А в конце о том, что исключительных и революционных идей очень мало. Каждый день к нам в стартап-акселератор iDealMachine поступают заявки от потенциальных резидентов, в которых они презентуют свои идеи (так как бизнес план мы не требуем). Один был назван "идееметателем". Около 10 его проектов, либо клоны, либо построенных по схожим схемам с существующими на рынке. Ничего необычного, разве что где-то область новая, где-то аудитория. Немного изменил идею - и вот новый проект. Стоит ли считать его идеи исключительно новыми? Имеют ли они рыночную ценность? Определенно имеют, если они будут реализованы, станут интересны аудитории и принесут прибыль.
10 comments - Leave a comment | |

| May. 14th, 2012 09:01 pm Google AdSense Я тут играюсь с Google AdSense - это возможность зарабатывать на рекламе (как через ютуб и на других сайтах). Мне ещё все не заапрувили, но когда заапрувят, на видеороликах может появляться реклама. Я настроил, чтобы не было рекламы, которая в начале ролика на весь экран, т.к. это тотальное зло IMHO. Ещё, кстати, LiveJournal позволяет использовать AdSense, но я его буду использовать только если во friends-only реклама не видна, иначе разнесу журнал на публичный и friends-only отдельно.
Короче, теперь главная мысль. Где бы ни была видна моя реклама, на неё *ни в коем случае нельзя кликать*, если вы есть у меня во френдах. Даже вы хотите на неё кликнуть, потому что реклама интересна, а не чтобы мне "помочь" - всё равно, пожалуйста, не кликайте. Потому что Гугл знает IP-шники и печеньки моих друзей (через Google+, и другими способами), и сочтёт это нарушением правил, за это мне могут отключить AdSense, и я потеряю много интересных возможностей по пассивному заработку.
Poll #1840353
Open to: All, detailed results viewable to: All, participants: 16
Подтверждение:
View Answers
| Дима, мне всё понятно, постараюсь ни в коем случае не кликать на твою рекламу. |
  16 (100.0%) |
13 comments - Leave a comment | |

| May. 12th, 2012 10:47 am Igudesman and Joo Для друзей из Чикаго. Я не буду показывать пальцем ;) Но знаю, по крайней мере, двоих.
http://cso.org/TicketsAndEvents/EventDetails.aspx?eid=4358
Это музыкальное (по классической музыке!) развлекательное шоу, я ходил на них когда они приезжали в Silicon Valley. Шоу состоит из кучи миниатюр, идущих подряд. Одна из них, довольно известная (я удивлюсь, если они её не включат в программу, хоть они обычно и немного варьируют набор) - Rachmaninov Had Big Hands:
3 comments - Leave a comment | |


| May. 7th, 2012 01:04 am Йога У меня был, наверное, первый более-менее положительный экспериенс занятия йогой в группе. Вот здесь: http://oldmoonyoga.com/schedule.html (Vinyasa flow yoga).
Надо будет попробовать ещё. 4 comments - Leave a comment | |

| May. 5th, 2012 09:22 pm Это мелодия из фильма "Крёстный отец". Очередное вещичко.
P.S. Вы там это, если нравится, ставьте лайк, а если не нравится, то дислайк. А то у меня весь фидбек идёт от совершенно случайных посетителей, при том, что основной трафик просмотров идёт из ЖЖ. 2 comments - Leave a comment | |

| May. 5th, 2012 04:29 pm Рабочее Сразу несколько интересных ресурсов, по ссылкам из кружочков:
1. Почему bell curve это плохо в качестве модели поощрения работников интеллектуального труда: http://www.kraynov.com/2012/05/05/people-work/
2. "Картошка и инновации", или в чём слабость российского бизнеса: http://lionet.livejournal.com/109793.html
В качестве основных поднимаются две темы - бюрократия и неэффективность инфраструктуры, как следствие - куча времени плюс обсуждений на каждый бытовой чих, второе - где-то глубоко в культуре непонимание приоритетов (картошка даче и в ущерб работе, два дня на которой может оплатить весь годовой урожай этой несчастной картошки).
Маленький related post: http://sinhas-chandr.livejournal.com/41916.html
Ещё один related post на английском - те же мысли, но с уклоном во взгляд западного инвестора: http://www.businessweek.com/globalbiz/content/may2009/gb2009058_530398.htm 17 comments - Leave a comment | |


| May. 3rd, 2012 09:58 pm ClosedCircles - онлайн чат Раз уж Семён написал публично, кросспостну. ClosedCircles - это очень любопытный проект. В нём можно общаться по темам, но в кругу своих друзей. Т.е. в отличие от IRC, не будет навязчивого оффтопика от полных незнакомцев.
Проект может выглядеть сыроватым для полутора лет девелопмента в группе, но это лишь поверхностное впечатление. Куча работы была вложена в те маленькие детали функциональности, которые нужны, чтобы тусоваться там было комфортно. В частности, я как один из наиболее picky customers, вываливал много фидбека, и группа терпеливо имплементировала многое из того, что нужно мне, причём, вероятно, без уверенности, что это пригодится и для других.
Туда сложно попасть совсем со стороны, задумано, что должен быть приглашающий изнутри, но если мои ЖЖ читатели есть в фейсбуке или гугл-плюсе, то, во-первых, вы можете добавить меня, а во-вторых, вы будете видеть общих друзей. В третьих, я могу сделать intro thread в целях знакомства.
Одна из нерешённых на сегодня проблем - это динамическое создание новых топиков (называемых "кружочками"). Из известных мне, есть: * #Friends (это просто для общения с друзьями), * #Meta (для багрепортов), * #Guitar, * #politics, * #programming, * #gamedeff. (идя по этим линкам, вы сразу добавитесь в мои друзья... если я вас совсем не знаю, то боюсь, мне придётся удалить :))
Наверное, есть ещё, но это к Семёну. Если хочется завести свой кружочек, это тоже к Семёну. Далее - кросс-пост:
Originally posted by sim0nsays at #gamedeff going social - ClosedCircles У нас случается следующий виток эволюции gamedeff-тусовки - как нынче модно, с уклоном в social. Чтобы было понятней, давайте я вкратце расскажу с чего все начиналось.Как запечатлено в немногословной, но яркой хронике, gamedeff появился в 2004 году (страшно подумать, 8 лет скоро) после того, как на IRC-канале #gamedev сайта gamedev.ru стало слишком много шума. Доступ был исключительно закрытым, новые люди исключительно по приглашениям и рекомендациям, жило это все на приватном IRC-канале #gamedeff. Оказалось, что это совершенно офигенный формат общения, народ стал подтягивать вменяемых знакомых и логи #ff читались до утренней почты и ЖЖ-ленты. В 2007 году мы стали писать http://blog.gamedeff.com и достаточно активно писали до 2011. В разное время размер тусовки менялся от, наверное, человек 7 до 30, с несколькими закатами и рассветами. Главные мои наблюдения за 8 лет такие - во-первых, закрытая тусовка дружбанов это бесконечно круто, потому что это очень продуктивный метод общаться в онлайне, и, во-вторых, что поддерживать ее живой требует много усилий. ( TL;DR: Зацените мой новый pet project )Это канальчик про разработку игр: http://closedcircles.com/?invite=5283f620e93090c04650f50c58b225799b6d0755Это про программирование вообще: http://closedcircles.com/?invite=40830ab442b74e72f4f8dd795829490ef04a599eЛогиниться лучше через Фейсбук, чтобы оттуда сразу добавились контакты. Не беспокойтесь, Фейсбук только для логина, мы никогда ничего туда не постим. Имейте ввиду, все в режиме раннего прототипа, поэтому подразумевается терпение и, что называется, early adopter mindset. 3 comments - Leave a comment | |

| Apr. 30th, 2012 08:16 pm Antipatterns Originally posted by at CodeSOD: Self Documenting http://thedailywtf.com/Articles/Self-Documenting.aspx "A little while back, someone introduced the concept of 'self-documenting' code to our team," writes Ryan L. "It was certainly a step forward, but it's somehow taken us two steps backwards. Consider, for example, the following code from an MVC controller."
if (TheFormIsInvalid()) return View("Index", form);
... snip ...
private bool TheFormIsInvalid()
{
return ModelState.IsValid == false;
}
"Is it really that much easier to follow than if (!ModelState.IsValid)? I'll set that question aside for the moment to instead present some other code from the same class that handles online registrations for events:
public bool IsEligibleToSeeThisEvent(EventRegistrationInformation eventRegistrationInformation)
{
if (ThisEventDoesNotRestrictRegistrantsBasedUponActivityType(eventRegistrationInformation))
return TrueBecauseThisEventDoesNotRegistrictBasedUponActivityType();
var activityTypes = GetTheActivityTypesAttachedToThisEvent(eventRegistrationInformation);
if (NoActivityTypesAreAttachedToThisEvent(activityTypes))
return TrueBecauseThereAreNoActivityTypesToFilterOnThisEvent();
if (TheUserIsNotLoggedIn(eventRegistrationInformation))
return FalseBecauseNoActivityTypesAreAvailableForUsersWhoAreNotLoggedIn();
return ThereIsAtLeastOneSharedActivityTypeBetweenTheEventAndCurrentUser(
eventRegistrationInformation,
activityTypes);
}
private static bool TrueBecauseThisEventDoesNotRegistrictBasedUponActivityType()
{
return true;
}
private bool ThisEventDoesNotRestrictRegistrantsBasedUponActivityType(
EventRegistrationInformation eventRegistrationInformation)
{
return eventActivityTypeFilterRetriever
.DoesThisEventHaveARestrictionBasedOnActivityTypes(
eventRegistrationInformation.EventId) == false;
}
private bool ThereIsAtLeastOneSharedActivityTypeBetweenTheEventAndCurrentUser(
EventRegistrationInformation eventRegistrationInformation,
IEnumerable<ActivityType> activityTypes)
{
var currentActivities = registrantActivityRetriever
.GetRegistrantActivityProductCode(eventRegistrationInformation.AccountId);
return activityTypes.Any(x => currentActivities.Any(y => y.Id == x.Id));
}
private static bool FalseBecauseNoActivityTypesAreAvailableForUsersWhoAreNotLoggedIn()
{
return false;
}
private static bool TheUserIsNotLoggedIn(EventRegistrationInformation eventRegistrationInformation)
{
return eventRegistrationInformation.IsLoggedIn == false;
}
private static bool TrueBecauseThereAreNoActivityTypesToFilterOnThisEvent()
{
return true;
}
private static bool NoActivityTypesAreAttachedToThisEvent(IEnumerable<ActivityType> activityTypes)
{
return activityTypes.Any() == false;
}
private IEnumerable<ActivityType> GetTheActivityTypesAttachedToThisEvent(
EventRegistrationInformation eventRegistrationInformation)
{
return eventActivityTypeFilterRetriever.GetAll(eventRegistrationInformation.EventId);
}


  Leave a comment | |

| Apr. 26th, 2012 12:14 pm SepiaLeave a comment | |


| Apr. 24th, 2012 10:51 am CodeSOD: The Enterprise User Agent lol'd
Originally posted by at CodeSOD: The Enterprise User Agent http://thedailywtf.com/Articles/The-Enterprise-User-Agent.aspx "When the job ad specified that an 'enterprise' Senior Java Developer was needed, I knew I'd be in a treat for some enterprisey goodness," writes Chris B, "but what I didn't expect was the User Agent Detection Generation Framework. Here's what the API for this framework looks like."

"It's apparently designed to put an end to the extreme challenge of parsing user agent strings sent by various web browsers and devices. Here's what the UserAgent implementation looks like. I mean, an implementation; this is, naturally, extensible enough to handle any user agent parsing factory implementation." 
"Based on the commit history, it took several months to create this masterpiece. There are more than forty Java classes, eight interfaces, and several hundred lines of XML configuration. Speaking of which, here's the configuration XML for Firefox:"
<!-- ============================================================================================================== -->
<!-- Firefox -->
<!-- ============================================================================================================== -->
<!-- Firefox -->
<ua:UserAgent ua:id="Mozilla Firefox" ua:browser="Firefox" ua:version="$6" ua:platform="$1">
<ua:Element ua:id="mobile" ua:type="boolean" ua:value="false" />
<ua:Element ua:id="osName" ua:type="string" ua:value="$2" />
<ua:Element ua:id="osVersion" ua:type="number" ua:value="$3" />
<ua:Element ua:id="engineName" ua:type="string" ua:value="Gecko" />
<ua:Element ua:id="engineVersion" ua:type="number" ua:value="$4" />
<ua:Detection>
<!--
Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL; rv:1.7.5) Gecko/20041202 Firefox/1.0
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6
Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8) Gecko/20051107 Firefox/1.5
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.3a5pre) Gecko/20100418 Minefield/3.7a5pre
Mozilla/5.0 (Windows NT 5.1; rv:2.0b6) Gecko/20100101 Firefox/4.0b6
-->
<ua:RegExp>Mozilla/5.0 \((Windows).*(Windows NT) (\d+\.\d+).*rv:(\d+\.\d+).*\).*Gecko/(\d+).*Firefox/(\d+\.\d+).*</ua:RegExp>
<ua:RegExp>Mozilla/5.0 \(.*(Windows) (NT) (\d+\.\d+).*rv:(\d+\.\d+).*\).*Gecko/(\d+).*Firefox/(\d+\.\d+).*</ua:RegExp>
<ua:RegExp>Mozilla/5.0 \((Windows).*(Windows NT) (\d+\.\d+).*rv:(\d+\.\d+).*\).*Gecko/(\d+).*Minefield/(\d+\.\d+).*</ua:RegExp>
<!--
Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.8) Gecko/20050609 Firefox/1.0.4
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.9) Gecko/20050711 Firefox/1.0.5
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.6) Gecko/20060808 Fedora/1.5.0.6-2.fc5 Firefox/1.5.0.6 pango-text
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1) Gecko/20060601 Firefox/2.0 (Ubuntu-edgy)
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.2) Gecko/20070220 Firefox/2.0.0.2
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.2) Gecko/20070221 SUSE/2.0.0.2-6.1 Firefox/2.0.0.2
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:2.0a1pre) Gecko/2008060602 Minefield/4.0a1pre
Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
-->
<ua:RegExp>Mozilla/5.0 \((X11); U; (\w+)().*rv:(\d+\.\d+).*\).*Gecko/(\d+).*Firefox/(\d+\.\d+).*</ua:RegExp>
<ua:RegExp>Mozilla/5.0 \((X11); (\w+)().*rv:(\d+\.\d+).*\).*Gecko/(\d+).*Firefox/(\d+\.\d+).*</ua:RegExp>
<ua:RegExp>Mozilla/5.0 \((X11); U; (\w+)().*rv:(\d+\.\d+).*\).*Gecko/(\d+).*Minefield/(\d+\.\d+).*</ua:RegExp>
<ua:RegExp>Mozilla/5.0 \((X11); (\w+)().*rv:(\d+\.\d+).*\).*Gecko/(\d+).*Minefield/(\d+\.\d+).*</ua:RegExp>
<!--
Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7
Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.5; rv:5.0) Gecko/20100101 Firefox/5.0
-->
<ua:RegExp>Mozilla/5.0 \((Macintosh); U; ([^;]+)().*rv:(\d+\.\d+).*\).*Gecko/(\d+).*Firefox/(\d+\.\d+).*</ua:RegExp>
<ua:RegExp>Mozilla/5.0 \((Macintosh); ([^;]+)().*rv:(\d+\.\d+).*\).*Gecko/(\d+).*Firefox/(\d+\.\d+).*</ua:RegExp>
<ua:RegExp>Mozilla/5.0 \((Macintosh); U; ([^;]+)().*rv:(\d+\.\d+).*\).*Gecko/(\d+).*Minefield/(\d+\.\d+).*</ua:RegExp>
<ua:RegExp>Mozilla/5.0 \((Macintosh); ([^;]+)().*rv:(\d+\.\d+).*\).*Gecko/(\d+).*Minefield/(\d+\.\d+).*</ua:RegExp>
</ua:Detection>
</ua:UserAgent>


  Leave a comment | |

| Apr. 23rd, 2012 10:41 pm Knuth A review of the gift set of Knuth:
"Since reviews of the book content can be found elsewhere, I thought I'd review the actual collection that I bought - these four books and the box that they came in.
They are beautiful, the off-white coloured dust jackets make a pleasing change to the other pure white books that I have on my desk, and the box sets the set apart from everything else.
Also, since purchasing this set, the following things have happened.
1) My IQ increased by 1 point as soon as I placed the box on my bookshelf 2) The Women in my IT department increased their rating of me by 1.5. Apparently I'm now an 8 (9 if I take my glasses off) my colleagues report that this is a 0.5 increase in rating over a non-boxed collection of these books. 3) I have found that taking one book out, opening to a random page and inhaling deeply, when combined with a double-shot coffee, will ensure good spirits and coding karma for at least the next 4 hours.
My only complaint about this set is the fact that they are fairly snugly fit in the box. this requires actually tipping the box forward to select a book, you cannot fit your finger over the top of any one book to pull it out. The exaggerated action of doing this, however invokes jealous looks and dreamy eyes from my male and female/gay colleagues respectively so is worth it.
in short: buy this set!" Leave a comment | |

| Apr. 22nd, 2012 11:00 pm Гитарное
Какие звуки!
Понятно, что он лучше меня играет, но факт звукозаписывающего equipment'а на штуку+ баксов тоже очевиден. Хочу! Дима, обойдёшься. 8 comments - Leave a comment | |

| Apr. 20th, 2012 10:24 pm Моё художество История: у друга дома была повешена на стену фоторамка, просто чтобы прикрыть некрасивую дырку в стене. Причём в фоторамке был заводской вкладыш с каким-то текстом, типа, какого она размера, кем сделана и т.п. На меня снизошло вдохновение, позволившее мне в считанные минуты заменить некрасивый вкладыш на искусство: (нарисовано на обратной стороне этого вкладыша)

Могу рисовать на заказ в таком же стиле ;) 10 comments - Leave a comment | |

| Apr. 19th, 2012 09:11 pm John Dowland - What If a Day or a Month or a Year Не могу научиться писать его имя без ошибок. Раньше вообще пальцы набирали Download. Потом как-то всё сконвергировало в компромиссный вариант: Downland. Вот. Всё время приходится исправлять.
Leave a comment | |

| Apr. 19th, 2012 01:51 am The Core Launcher Офигенно. Мораль сей басни - как минимум, не называйте файлы program*.exe :)
Originally posted by at The Core Launcher http://thedailywtf.com/Articles/The-Core-Launcher.aspx “You R haccking files on my computer~!!!” Charles Carmichael read in a newly-submitted support ticket, “this is illigle and I will sue your whoal compiny. But first I will tell every1 nevar to buy youre stupid game agin.” The bizarre spelling and vague threats were par for the course. After all, when you market and sell a game to the general public, you can expect a certain percentage of bizarre and vague customer communications. When that game is a popular MMPORG (no, not that one), that percentage tends to hover around the majority. It took a few days to see the pattern, but the string of emails started to make sense. “Uh, when did your game become spyware?” said one email. “Are you doing this just to force us to play more often?” another customer asked. “I know you have a lot of AI and whatnot, so I think it leaked out. Because now my whole computer wants me to play all the time… like my dog bringing me his chew toy.” As it turned out, the problem started happening a few days after an update to the core launcher was published. The core launcher was one of those terrifically handy executables that could download all of the assets for any single game that was published, scan them for completeness, replace bad or missing files, and then launch the game itself after the user signed in. It’s a must-have for any modern multiplayer online game. This core launcher could also patch itself. Updates to this executable were fairly rare, but had to be made whenever a new title launched, as was recently the case. Obviously, a large battery of automated and manual testing is done to ensure that there are no problems after publishing, yet something seemed to have slipped through the cracks… at least for some customers. After a whole lot of back and forth with customers, Chris was able to compile dozens of detailed process lists, startup program launches, newly installed applications, and firewall usage rules. As he pored over the collected information, one program was always there. It was Interfersoft’s fairly popular anti-virus suite. It took a solid two days of research, but Chris was finally able to uncover the new “feature” in Interfersoft’s Advanced Firewall Protector that was causing the problems. Like many similar anti-virus suites, when a program wanted to use network services, Interfersoft would pop-up a dialog confirming that the program’s operation was authorized. Behind the scenes, if the user allowed the program, Interfersoft would make a hash of that executable file, and would allow it’s communications to pass through the firewall every time thereafter. Users who had this antivirus solution installed had, at one time, allowed the launcher through their firewall. The first time they connected to the game server after the launcher patch was released, their executable would download its patch, apply it to itself, and restart itself. But then of course, the executable hash didn’t match any more, and the program was no longer able to go through the firewall. Rather than asking users if they wanted to allow the program to connect to the internet, in the new version of Interfersoft’s suite, the anti-virus system would rename the executable and move it. The logic being that, if it was changed after connecting to the internet, it was probably malware. But what did they name the file? Program.exe. Unless that was already taken, then they would name it Progra~1.exe or Progra~2.exe and so forth. And where did they place this file? Well, in the root directory of C of course! This naming convention, as it turned out, was a bad idea. Back in the very old, Windows 3 days, Windows did not support long file names. It wasn’t until Windows NT 3.5.1 (and then Windows 95 later) that long file names were supported. Prior to this, there were a lot of limitations on what characters could be part of a filename or directory, one of those being a space. In fact, any space in a shell command execution was seen to be an argument. This made sense at the time so you could issue a command like this:
C:\DOOM\doom.exe -episode 3
That, of course, would start Doom at episode 3. However, when Microsoft switched to Long File Names, it still had to support this type of invocation. So, the way the windows cmd.exe shell works is simple. You pass it a string like this:
C:\Program Files\id Software\Doom\Doom.exe -nomusic
And it will try to execute “C:\Program” as a file, passing it “Files\id Software\Doom\Doom.exe -nomusic” as argument to that executable. Of course, this program doesn’t exist, so it will then try to execute “C:\Program Files\id”, passing it “Software\Doom\Doom.exe -nomusic” as argument. If this doesn’t exist, it will try to execute “C:\Program Files\id Software\Doom\Doom.exe” passing in “-nomusic” as an argument. It would continue this way until a program existed and started, or until the path was depleted and no program was to be found. And on top of all this, desktop shortcuts on Windows are mostly just invocations of the shell, with the actual location of the executable you want to start (the path) stored in text inside the shortcut. When you click it, it reads this path, and passes it to the shell to start up the program. And this is why Intersoft’s process of moving files to the root directory was the worst decision they could have made. Most of the programs installed in Windows at this time were installed to the “Program Files” directory by default. This was a folder in the root (C:\) directory. So when you wanted to launch, for instance, Microsoft Word, the shortcut on your Desktop pointed to “C:\Program Files\Microsoft\Office\Word.exe” or Firefox, which was in “C:\Program Files\Mozilla\Firefox\”. But thanks to Program.exe in the root directory, you ended up doing this:
C:\Program.exe “Files\Microsoft\Office\Word.exe”
and
C:\Program.exe “Files\Mozilla\Firefox\”
So, when users were trying to launch their application – applications which resided in the Program Files directory on their C drive – they were getting the launcher instead. Chris explained all of this in great detail to Interfersoft, all the while explaining to customers how to fix the problem with the firewall. It helped some, but several hundred customers ended up closing their accounts a direct result of the “hacking”. A few weeks later, Interfersoft started responding to the issues with their customers. Fortunately (for them), they decided to not use their own auto-update process to deliver a new version of the firewall. 

 Leave a comment | |

| Apr. 18th, 2012 05:24 pm Microsoft
Upd.: view count на моих глазах поднялся с 4K до 18K. Короче, she went viral! :) 20 comments - Leave a comment | |

| Apr. 17th, 2012 11:37 am Счастье Originally posted by birdwatcher at Счастье 1 comment - Leave a comment | |

| Apr. 12th, 2012 01:11 am Cloud Search From: Amazon Web Services [mailto:no-reply-aws@amazon.com] Sent: Thursday, April 12, 2012 1:06 AM To: ... Subject: Amazon CloudSearch Announcement
Dear Amazon Web Services Customer,
We are excited to announce the immediate availability of Amazon CloudSearch, a fully-managed search service in the cloud that allows customers to easily integrate fast and highly scalable search functionality into their applications.
Amazon CloudSearch adds search capabilities for your website or application without the administrative burdens of operating and scaling a search platform. Amazon CloudSearch seamlessly scales as the amount of searchable data increases or as the query rate changes, and developers can change search parameters, fine tune search relevance and apply new settings at any time without having to upload the data again.
Built for high throughput and low latency, Amazon CloudSearch supports a rich set of features including free text search, faceted search, customizable relevance ranking, configurable search fields, text processing options, and near real-time indexing. Amazon CloudSearch offers low, pay-as-you-go pricing with no up-front expenses or long-term commitments.
With Amazon CloudSearch, you get: • Rich Search Features • Automatic Scaling for Data & Traffic • Low Latency, High Throughput • Easy Administration • Low Costs
To learn more about Amazon CloudSearch, you can read this blog post by AWS Lead Evangelist Jeff Barr.
In addition please join us for an Amazon CloudSearch webinar on May 10: https://aws.amazon.com/cloudsearch/webinar.
To get started using Amazon CloudSearch, please visit our overview page at: http://aws.amazon.com/cloudsearch.
Sincerely, The Amazon Web Services Team Leave a comment | |

| Apr. 4th, 2012 10:53 pm Windows 7 tricks In Windows 7 you can create symbolic link to a network share: mklink name \\computer\share\name /d
http://www.networknet.nl/apps/wp/archives/957
Very cool! 3 comments - Leave a comment | |

| Apr. 3rd, 2012 01:53 am Распределение монеток Я откладывал quarters на laundry, а остальную мелочь в копилку. Сходил сегодня окэшил целую горсть.
Получилось любопытное распределение.

dimes = 29.17% nickels = 17.59% pennies = 53.24%
Если взять все числа от 1 до 99 и разложить на монетки жадным алгоритмом (заполняем всё quarter'ами, всё, что осталось dime'ами, потом nickels, потом pennies), получается чуть иное распределение:
dimes = 25.00% nickels = 12.50% pennies = 62.50%
Короче говоря, в реальности вышло непропорционально много никелей. Это настораживает. 7 comments - Leave a comment | |

| Mar. 26th, 2012 01:39 am HTML5 На ютубе можно за-opt-in'иться в эксперимент, чтобы показывать видео через HTML5 вместо флеша. http://www.youtube.com/html5
Я попробовал, и первое же видео было без звука, и даже без ручки его регулировки. Но изображение работало! К сожалению, пришлось покинуть эксперимент. 1 comment - Leave a comment | |

| Mar. 24th, 2012 04:57 pm Обучалка для гитары Любопытно, что год назад мы это обсуждали как потенциальный проект. Пока ты обсуждаешь, другие люди делают: http://www.ohgizmo.com/2012/03/23/tabber-guitar-sleeve-promises-to-help-you-learn/
(thanks mrumka for link!) 2 comments - Leave a comment | |

| Mar. 23rd, 2012 02:01 am Специально для идиотов... ...таких как я.
http://www.explainxkcd.com/
Офигенная идея :) Объясняют комиксы!!! :) Leave a comment | |

| Mar. 22nd, 2012 04:34 pm Рост бизнеса от 10 до 100 человек: практический опыт По-моему, отличная презентация. Взято отсюда: http://webman.kiev.ua/news/163.html
"Сергей Рыжиков: 'Мне кажется, что мы очень часто попадаем в ловушку маркетинговых докладов представителей больших компаний. Большинство представителей таких компаний никогда не строили бизнес, пришли в готовый работающий бизнес компании численность в тысячи человек. Но они уверены, что их советы могут быть применены для компании в 10-50 человек. Но это не так. И более того, такие советы очень часто приводят к тяжелым последствиям для небольших компаний, потому как методики работающие с тысячами сотрудников, вообще неприменимы к 10 сотрудникам.'"
У кого есть рекомендации материалов (лекций, презентаций) на похожую тему, welcome шарить линки! 2 comments - Leave a comment | |

| Mar. 21st, 2012 12:31 pm Quicksort vs Mergesort Quicksort и Mergesort - два интересных алгоритма сортировки. В первом выбирается "барьер", и данные раскидываются на два куска, в одном всё меньше барьера, в другом больше либо равно. Эти куски сортируются рекурсивно, после чего их можно просто "склеить", т.к. наибольший элемент из первого куска будет меньше либо равен наименьшему из второго. Если разделение происходит в внутри одного массива, то "склеивать" вообще ничего не надо - данные в большом массиве будут уже автоматически отсортированы. Идеальный барьер можно выбрать за линейное время, но на практике барьер выбирают за константное время - скажем, первый элемент или средний элемент, и это не идеальный выбор (массив может разделиться совсем не пополам), но в большинстве случаев (и в с реднем случае) это даёт ту же асимптотическую сложность.
Mergesort - это антипод Quicksort'а: во время разбиения на части мы не смотрим на ключи, делим совершенно произвольно на две примерно одинаковые части, сортируем их рекурсивно, а потом нужна процедура слияния - два отсортированных массива (множества элементов которых могут крепко пересекаться) нужно "слить" в один. Это линейная операция. Суммарно тот же O(n log n).
Раньше, сравнивая Quicksort и Mergesort, я считал, что они асимптотически одинаковы для среднего случая (O(n log n)), Mergesort лучше в худшем случае (всё ещё O(n log n) vs O(n^2)), а Quicksort лучше на практике из-за хорошей локальности на нижних уровнях рекурсии.
Но мне никогда не приходило в голову, что Quicksort может быть именно асимптотически, фундаментально лучше Mergesort. Оказывается, может. Если сортировать большие объёмы данных на hadoop кластере из K машин, то с K-way Quicksort'ом можно получить время O(n/K log n/K). Если выбирать барьеры для сегментов при помощи случайной выборки, то ни на одном этапе не нужен будет линейный проход массива. Mergesort approach, как ни крути, потребует в самом конце reducer, который всё "сольёт", т.е. на одном хосте прочешет весь массив. Получаем плохой O(n), вне зависимости от K.
Однако. 5 comments - Leave a comment | |

| Mar. 20th, 2012 10:59 pm Турнир по ренздю Итак, я дозрел до организации турнира по искусственному интеллекту для игры в рендзю (после общения с raindog_2 сегодня! :)).
Предлагаются следующие правила. 1. Размер поля 15x15 (индексируем байтом, woo-hoo!) 2. Обозначения на игровом поле: пустая клетка "0", фишка первого игрока "1", второго "2". 3. На вход (stdin) даётся указание, чей сейчас ход (строка с цифрой 1 или 2), а также текущее содержание игрового поля (15 строк, по 15 символов в каждой). Все строки заканчиваются \n (символ с кодом 0xA). Рекомендуется использовать стандартные платформо-зависимые APIs для чтения строк из входного потока. 4. Начинает игру первый игрок (1), и он всегда ходит в центр. Программировать это не надо, программа, управляющая турниром, сделает этот ход автоматически. 5. Второй ход первого игрока должен быть на расстоянии 3 или больше от центра (другими словами, если нумеровать клетки от 0 до 14, то для координат второго хода первого игрока должно исполняться условие: |x-7|>=3 or |y-7|>=3). Это единственное ограничение, ослабляющее первого игрока, других ограничений нет. 6. На выход (stdout) следует выдать поле, в котором сделан ход: 15 строк по 15 символов, в конце каждой строки \n. 7. Можно сдаться, для этого вместо выдачи поля, следует напечатать одну строку с числом 0 и символом \n. 8. Нельзя пропускать ход. 9. Управляющая программа гарантирует, что ход сделать можно (т.е. состояние исходного игрового поля не является "концом игры", имеется хоть одна свободная клетка, входные данные подаются всегда корректно). 10. Варианты "конца игры": 10.1. Выигрыш - в случае построения 5 фишек в ряд по горизонтали, вертикали или диагонали. 10.2. Заполнение всего поля ("ничья"), без наличия выигрышной ситуации из предыдущего пункта. 10.3. Выигрыш - в случае некорректного хода или time out'а соперника.
Возможно, предложенные правила не на 100% кошерные, но зато очень "дружественные" к программным реализациям.
Я потом отдельно напишу более формальные правила, с примерами и переведу их на английский. Также, создам mailing list и форму для закачивания программ. Пока - наброски: *) Ориентировочная дата турнира через 2 месяца (скажем, 26 мая). За прогрессом можно будет наблюдать онлайн. Возможно, будет ещё один турнир, если после первого сделать раунд какого-то обмена идеями и т.п. *) Для участия необходимо закачать на тестовый сервер исходный код. Вы мне доверяете, что я не буду в него смотреть и не буду "играть" в ваши игры без разрешения (предполагаемое использование - для тестового запуска чтобы проверить корректное чтение ввода, и, собственно, сам турнир), а я, в свою очередь, доверяю, что вы не будете делать всякие гадости и хитрости (кстати, делитесь идеями, как от этого легко защититься на Linux'е). *) Я подумаю над конкретными ограничениями. Для начала считайте, что есть 2 cores и 400 MB RAM. Потом, возможно, ресурсы будут увеличены. Я думаю, что для турнира буду использовать один или несколько EC2 хостов (http://aws.amazon.com/ec2/#instance) либо "Small Instance", либо "High CPU Medium". До турнира (тестовый запуск и учёт участников) используется Micro Instance. *) Писать на диск (временные файлы и т.п.) нельзя, запускать процессы нельзя, обращаться по сети нельзя, размер исходника ограничен. Пока - условно 100KB, потом, если надо, можно будет подкрутить, но общая идея ограничений: нельзя precompute очень большую матрицу дебютов. *) Заранее не известно, target platform будет 32 bit или 64 bit (вероятно, 64 bit). *) На каждый ход будет ограничение по времени - я пока не решил, какое. Думаю, секунд 10, не больше. *) Языки программирования: C, C++ (gcc), Python 2.6, вероятно, добавлю Java. Нестандартных библиотек не будет. Опции компилятора будут выложены потом, кроме того, будет возможность заранее проверить, компилируется ли исходный текст, и запустить тесты. Кто хочет поддержку других языков (помимо перечисленных), тот рассказывает мне, как это легко настроить. *) Кто хочет побыть спонсором - обращайтесь. Призы - это интересно. Кроме того, если участников будет очень много, то будет приятно, если спонсор заплатит за EC2 host time на время турнира (в случае если оно перевалит за какие-то разумные $50). При разумном количестве участников, турнир будет проводиться так: играет каждый с каждым, каждая пара играет по две игры, начиная поочерёдно. Ranking по количеству побед. Если я чего не учёл - говорите. Всё будет учтено. Если кто найдёт в интернете Renju/Gomoku в точности с описанными выше правилами - выкладывайте ссылки, думаю, это полезно будет для тренировки :) Ну и вообще, играйте, практикуйтесь! И пишите AI! Good luck & stay tuned.
Потенциальные участники - прошу как-то отметиться (комментом или письмом мне), чтобы я своевременно слал все апдейты. 9 comments - Leave a comment | |

| Mar. 19th, 2012 07:13 pm Ferdinando Carulli - Siciliana (Allergo) Записал ещё одну красивую грустную вещичку.
К её разучиванию подтолкнула вот эта запись:
Я её специально не переслушивал в процессе работы, чтобы у меня вышло по-другому. 2 comments - Leave a comment | |

| Mar. 18th, 2012 07:07 pm HDD speed Протестировал несколько винчей разных размеров на скорость доступа (через утилиту Atto). Получились следующие числа на блоках примерно 16-32KB и выше (примерно одинаково для чтения и записи):
250 GB - 63 MB/sec 500 GB - 60 MB/sec 750 GB - 93 MB/sec 2 TB - 110 MB/sec
Больший размер харда, выше плотность записи, выше throughput. Маленькое напоминание для тех, кто экспериментирует со старыми винчами, но в интересных конфигурациях (типа RAID-0). Все винчи - 3.5", 7200 rpm, но разных моделей, тестировались на примерно одинаковом железе. 28 comments - Leave a comment | |

| Mar. 13th, 2012 01:36 pm Night Sky Всем рекомендую Night Sky. Программка, показывающая звёзды, созвездия и планеты с названиями, когда смотришь на небо через айфон. Я думаю, она работает не от камеры, а от GPS + датчиков компаса и положения айфона в пространстве. Пишут, что её можно откалибровать, чтобы хорошо сходилось. Теперь больше не придётся спорить, Марс это, Венера или Юпитер. 1 comment - Leave a comment | |

| Mar. 12th, 2012 07:15 pm Facebook Некоторое время назад интерфейс фейсбука изменился, и в новом я до сих пор не нашёл, как выйти на фотоальбомы. Я вижу только недавно закаченные фотки, да и то только иногда, т.к. теперь фейсбук как-то выборочно показывает обновления.
Можно ли как-то вернуть старый интерфейс, в котором всё было по-человечески? 13 comments - Leave a comment | |

| Mar. 11th, 2012 12:09 pm Домашнее Вчера забыл в стиральной машине вещи. Сегодня, вместо того, чтобы переложить их в сушку, запустил их стираться по второму кругу (с добавлением моющего средства). Мысль была такая: наверное, за ночь в сыром окружении могли расплодиться микробы, и если я просто просушу, я могу не всех убить, лучше постирать заново. Интересно, насколько рационально обоснован этот шаг? Стоило ли стирать заново?
На второй чаше весов $1.75 за пользование общей стиральной машиной, порядка $0.20 за моющее средство, загрязнение окружающей среды по объёму воды, спущенной в канализацию, а также какие-то копейки как часть счёта за воду, и уменьшение долговечности вещей (вещи "умирают" за какое-то количество стирок). Если стираемые вещи стоят $200, и амортизируются за 2 года при стирках раз в 2 недели, то каждая стирка "стоит" примерно $4 плюс 50% издержки на то, чтобы выбрать вещи, съездить и купить, вернуть, если не подошло, и т.п. - это $6. Суммарно уже порядка $8. 7 comments - Leave a comment | |

| Mar. 10th, 2012 10:26 am Русский язык 
"Вот настоящий тест на русскость. Показал двум американским славистам, которые прекрасно владеют русским, и они не поняли. Показываю любому русскому - и сразу все понятно..." 15 comments - Leave a comment | |

| Mar. 8th, 2012 11:26 pm Ski Trip Ездил кататься на лыжах по работе. Лёг в 7:30 вечера, встал в 2, чтобы успеть на автобус, отправляющийся в 4.
Поездка на автобусе:
 Я не спал, и размышлял об очень многих вещах. Было довольно приятное такое время "наедине с собой".
В горах:
</a>
Я взял урок. Нашёл препода, который берёт не совсем новичков, а более продвинутых. Я ведь уже один раз катался на лыжах в прошлом году - мне было бы скучно с новичками. Вот препод и пару случайных "сокурсников":

У меня был ряд приключений. Во-первых, мне сильно болели стёртые ноги. Инструктор объяснил, что штаны надо не заправлять в обувь, а выпукать наружу, и надо иметь длинные носки. Мои были длинными, просто я их не вытягивал специально. Вытянул, стало легче.
Во-вторых... мы катались на горке "Big and Easy" (совсем для начинающих) на NorthStar, а потом перешли на кататсья Easy trails ("зелёненькие" на карте) на Arrows Express. Мой ланч был назначен на 1:30pm (с коллегами по работе), а стандартный ланч-break на урок был с 12:30pm. Это было время для самостоятельного катания, и я решил съехать по тем же горкам. Но, по ошибке, выбрал другой подъёмник - "Vista Express". Поднявшись наверх, я понял свою ошибку, но увидел на карте возможность съехать обратно по "зелёненьким" горкам, не задевая "голубенькие" (которые более высокой сложности, а самые сложные - "чёрные", это вообще отвесно вниз для экстремалов). Я где-то не там свернул, и вместо Skid Trail взял Magic Moguls, что было голубой горкой. Было очень весело, но спустится смог.
Приключения продолжаются. Ланч был в ресторане рядом с Zephyr Lodge. Обратно спуститься можно либо в гондоле, либо на лыжах по голубым горкам. Я решил спуститься на лыжах.
Вот он, я перед спуском:

Я посмотрел на горку, с которой спускались все (мне она показалась совсем страшно-отвестной), и начал спускаться по, казалось бы, более лёгким горкам (ушёл влево), и двигался параллельно The Stash - это спуск для free-style сноубордистов, специально с насыпями и разными препятствиями, на которых они прыгают, куваркаются в воздухе и т.п. Там были знаки "free-style skills required". Но даже по "более лёгким" голубым горкам мне пришлось спускаться, играя в snake - практически по горизонтали двигаясь с широкими петлями. Несколько раз я больно упал. Самое страшное - это люди, стрелой проносящиеся отвесно вниз.
Но интересное началось позже. Мой trail сузился, и вдруг слился с The Stash, и я начал ехать, аккуратно объезжая трамплины. Потом я увидел неминуемый трамплин по ширине всего trail'а, и испугался не на шутку. Поговорил с чуваком, который остановился, чтобы предупредить друга о чём-то, и спросил, где здесь легче спуститься. Он посоветовал пройти по горизонтали на соседний спуск (слева от Zephyr's lodge, от которого я изначально, по глупости, отказался). Я туда, не без труда, дошёл, и потом довольно долго спускался. Суммарно до автобуса мой спуск занял 1.5 часа. У нормальных людей (которые, катаясь второй раз в жизни, не лезут сразу на blue trails), вероятно, это занимает минут 15.
Из приятного - куча адреналина. Настоящий страх, что я не смогу спуститься вовсе, и останусь в горах, а вечером меня подберёт какой-нибудь дурацкий патруль. И весь автобус с коллегами задержу (хотя об этом я думал далеко не в первую очередь). Я заставлял себя не смотреть вниз, так спускаться было легче. На отвесных горках можно довольно легко двигаться почти по горизонтали, но чтобы развернуться, нужен небольшой отрезок движения вниз, и он сильно разгоняет - это страшно, но, кажется, я научился этого не бояться.
Из неприятного - меня приятно удивили дети, включая совсем маленьких, которым лет 6-7, которые спускаются по голубым горкам отвесно вниз, играючи. Я понял, что я стар. Может, я могу их догнать по скиллам, но путём каких-то немеренных тренировок. А мне больно падать, да и просто от спуска у меня всё болит. Болят ноги, болит поясница, болят связки в руках даже от снимания ботинок (это довольно большое усилие руками). Скоро тридцатник и это сказывается :(
Напоследок, еду обратно в автобусе:

Пили вино, пиво, и смотрели фильмы. Первый фильм - "Caddyshack", второй "The Gods Must Be Crazy". Почему-то во время фильмов было, в целом, грустно. 45 comments - Leave a comment | |


| Mar. 5th, 2012 09:39 pm I did it!  (look carefully at the upper dart...).
Current Mood: crazy
3 comments - Leave a comment | |

Mar. 4th, 2012 08:13 pm Writer's Block: What’s in a Name?
I wish I was _ or 0 (or, at least, AAA). This would always sort me to the top of the list, so I will save time on looking myself up.
Honestly, I think the names system is too complex and obsolete, and it would've been much more convenient with binary GUIDs. In tight circles of friends or co-workers you can refer to people by some 2 digit hash (How are you doing, eighty-four? Doing well, twenty-five, how are you?). If there are only a few people in the room, you could use 1 digit, unless it's ambiguous.6 comments - Leave a comment | |

| Mar. 4th, 2012 02:53 pm Выборы ваши игрушечные Так, чисто поржать.
Originally posted by podmoskovnik at Первая диаграмма по ТИКам Очень предварительные данные. 22:00, 535 ТИК, 6,36 млн. зарегистрированных избирателей (данные по ТИК, естественно, тоже неполные). Пока очень фрагментарно, но картина знакомая до боли. Где-то до явки в 55% растут доли всех кандидатов, выше явок в 70% у других кандидатов голоса уже отнимают. Примечательно, что на 22 часа не было данных по Москве _совсем_, в том числе по участкам с КОИБ.  UPD: данные на 23:00. Для нескольких московских ТИК появились данные по единичным участкам, причем не общегородским, а закрытым (по 30 - 500 человек). ( подробности и обновления ) Leave a comment | |

| Mar. 3rd, 2012 03:23 pm Build system Я знаю, как сделать, чтобы всегда отлично работал incremental build. Надо просто не имплементировать (или, если уже сделано, вырезать и запретить к использованию) clean (re)build. Временные файлы для билда не должны быть очевидным образом удаляемы вручную, во избежание соблазнов. Leave a comment | |

| Mar. 3rd, 2012 12:07 pm Гипотеза Пиггимауса-Зайцева Originally posted by piggymouse at Гипотеза Пиггимауса-Зайцева Выношу из комментов. Гипотеза: В десятичном разложении числа пи существует участок, представляющий собой анимированный гиф с сиськами в некоей разумной кодировке. Математики, ау!
Ещё оттуда же, из комментов:
"Вспомогательная лемма Селиванова: произвольный набор пикселей можно считать сиськами некоего (не обязательно разумного) существа."
"Я думаю, к более практичному определению того, что является сиськами, нужно привлекать топологов."1 comment - Leave a comment | |



| Mar. 2nd, 2012 01:06 pm Error'd: The Cheapest Fare Note from me: I finally created an RSS syndication account for the daily wtf, so you can "friend" it via LiveJournal. Paid accounts can add new RSS feeds for everyone to use, so let me know if something else is worth adding.
Smile:)
Originally posted by at Error'd: The Cheapest Fare http://thedailywtf.com/Articles/The-Cheapest-Fare.aspx "So... is Asia the problem," wonders Bernard Gatt, "or should I just go to Asia?"

"National Rail Enquiries seems to have a different definition of "cheapest" from most other people," wrote Daniel, "after using a highly tuned fare-finding and comparison algorithm it has determined that the fare that costs the most money should be determined as the 'cheapest fare'."

Grant Cullen spotted this at Toronto's Union station.

"There seems to be a problem with the problem," writes Kuznetsov Nikita.

"I tried to track a package sent through USPS," wrote David, "apparently Tim needed to know that it worked."

"In a wave of nostalgia I decided to fire up my old copy of Chessmaster 9000," wrote Nick, "while doing a challenge, the board suddenly cleared and I was greeted with this error."

Malcolm writes, "seems I can't log into Facebook because I will in the future change my password."

"Well...I do like having the best viewing experien-- wait a minute!" wrote Gavin



 Leave a comment | |

Back a Page
|
|