Митио Каку: Ваша голова старше ваших ступней

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

Доктор Каку — активный популяризатор науки, автор научно-популярных книг. Его «Физика невозможного» это отличный источник знаний об устройстве вселенной и о нашем возможном будущем.

Million, billion и billiard

Раньше я всегда думал, что billion это миллиард, то есть тысяча миллионов. Оказывается, не все так просто.

Сегодня billion это на самом деле тысяча миллионов, которую мы называем по-русски миллиард. Но еще совсем недавно в английском языке billion означал миллион миллионов. Дело в том, что существует две системы наименования чисел: короткая шкала и длинная шкала.

Короткая шкала основана на степенях тысячи.

  • один (one) 1 = 10000
  • тысяча (thousand) 1000 = 10001
  • миллион (million) 1 000 000 = 10002 = 1000 х 1000
  • миллиард (billion) 1 000 000 000 = 10003 = 1000 х 1000 х 1000
  • триллион (trillion) 1 000 000 000 000 = 10004 = 1000 х 1000 х 1000 х 1000

и так далее – квадриллион, квинтиллион, секстиллион, септиллион, октиллион, нониллион, дециллион. Каждое следующее число – тысяча предыдущих. В этом есть некоторая логика, но для математика здесь больше нелогичности: миллиард это billion, bi это два, но billion это тысяча в степени 3, а не 2. Триллион – в степени 4, а не 3.

funf billionen mark

Пять миллиардов марок (1923 г)

В Великобритании эта система была официально принята лишь в 1974 году, а в США короткая система использовалась еще с 19 века. До 1974 года в понятия «американский английский» и «британский английский» входило еще и разное наименование чисел больше миллиона.

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

  • один (one) 1 = 1 000 0000
  • миллион (million) 1 000 000 = 1 000 0001 = 1 000 000 х 1
  • миллиард (billion) 1 000 000 000 000 = 1 000 0002 = 1 000 000 x 1 000 000
  • триллион (trillion) 1 000 000 000 000 000 000 = 1 000 0003

и так далее с теми же названиями (квадриллион, квинтиллион, секстиллион…), но каждое следующее число это миллион предыдущих. Логика проста: би – миллион во второй степени, три – миллион в третьей степени, квадро – миллион в четвертой степени, и так далее.

Русский миллиард соответствует billion’у короткой шкалы. То есть если американец или молодой британец скажет вам «I need a billion dollars or your son dies», то вам в какой-то степени повезло: за жизнь вашего сына требуют миллиард долларов, то есть тысячу миллионов долларов. Но если британец старый и все еще использует длинную шкалу или это вообще европеец, то вам придется искать триллион долларов или миллион миллионов.

Дальше только хуже: в английском языке есть слово milliard и сегодня оно означает миллиард (тысячу миллионов) в длинной шкале. А есть и billiard – тысяча тысяч миллионов.

По-русски Короткая шкала Длинная шкала Число
миллион million million 1 000 000
миллиард billion milliard 1 000 000 000
триллион trillion billion 1 000 000 000 000
квадриллион quadrillion billiard 1 000 000 000 000 000
квинтиллион quintillion trillion 1 000 000 000 000 000 000

use of billion and milliard

  • розовый — короткая шкала
  • голубой — длинная шкала
  • фиолетовый — оба формата
  • желтый — своя система (например, мириада в Китае)

Ссылкомат #1

Здесь будут публиковаться заметки в модном сегодня формате линкблога: ссылки на интересные статьи, заметки и просто интересные ссылки за неделю. Многие ссылки будут вести на англоязычные сайты. Так как большинство моих читателей изучают английский язык, я предлагаю читать интересные вам материалы, а если возникнут вопросы (непонятные словоформы, фразы, фразеологизмы и прочее) – пишите мне на почту, я постараюсь отвечать на вопросы в блоге. Да и вообще, пишите если есть интересные вопросы про английский язык. Я думаю, сделать так: каждую неделю писать пост, в комментарии к которому будут собираться вопросы, а на следующей неделе публиковать пост с ответами.

Дизайн

  1. Артем Поликарпов и другие комментаторы советуют как лучше сжимать картинки для веба.
  2. Отличная статья про типографику в вебе и золотое сечение.
  3. Еще немного о пропорциях: секрет идеальной книжной страницы.
  4. Оливер Рейхштейн из агентства iA рассказывает о том, почему хороший дизайн невидим.

Программирование

  1. Тамагочи, который живет у вас в Eclipse и питается тестами и рефакторингами.
  2. Пособие по математике для программистов от MIT.
  3. Правильные цитаты программистов.
  4. Научиться работать с Git можно всего за 15 минут.
  5. Рассказ преподавателя университета о том, почему он ушел работать из академической среды в Гугл.

Остальное

  1. Почему операторы сотовой связи являются злейшими врагами инновации на примере пятилетней истории айфона. В ту же копилку: как мобильные операторы следят за нами.
  2. Автор знаменитого веб-комикса XKCD начал вести блог, в котором в свойственной ему приятнейшей форме отвечает на интересные вопросы по физике.
  3. Все эпизоды офигенного британского и американского импровизационного шоу Whose Line Is It Anyway? (американская версия сейчас временно недоступна).

Every other day

«Каждый день» по-английски – донельзя логично: every day.

I touch my Johnson every day.

Я трогаю своего Джонсона каждый день.

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

I am bisexual, so I watch gay porn every other day.

Я бисексуал, поэтому смотрю гей-порно через день.

То есть можно сказать, что я делаю что-то в понедельник, и продолжаю «every other day», а собеседник поймет, что это понедельник, среда, пятница и воскресенье.

Не нужно путать это с формой «the other day», которая означает всего лишь день из недалекого прошлого.

— I’ve seen Alex through his bedroom windows the other day, he was watching gay porn and touching his Johnson.

— Was it Monday?

 

— Я видел Алекса сквозь окно его спальни, он смотрел гей-порно и трогал своего Джонсона.

— Это было в понедельник?

Пустой инбокс

Мне очень нравится блог Сергея Сурганова. Особенно два поста – про пустой инбокс и про эвернот для дизайнера. Я решил воспользоваться этими советами.

Последние лет 6 я использовал почту для всего подряд: хранения заметок, ссылок, напоминалок… Прочитал на улице что-то – послал себе письмо. Удобно, в теории. На практике – хаос. Потом я решил что такие заметки нужно просто убирать с инбокса и прикрепить метки. Кроме меток есть еще звездочки (речь, конечно, о джимейле). В итоге самые важные письма, которые требуют действий, оставались в инбоксе. Я их открывал, решал, что они важные и помечал как непрочитанные, чтобы не забыть. Те, что потребуют действий в скором будущем помечал звездочкой. Потом прикреплял метку («работа», «блог», «проект X» и так далее). Хаос стал напоминать что-то из раздела «первые минуты Вселенной» учебника по астрономии.

Потом Гугл предложил Priority inbox и автоматическое распознавание важных писем. Хаос спрятался за ширму с вышитым на нем изображением порядка.

В-общем, спасибо Сергею, теперь мой инбокс — пуст.

А все заметки, ссылки, картинки, обрывки мыслей и так далее – в Эверноуте.

Все старые письма в джимейле я отправил в архив: чтобы сделать это, зайдите в джимейл, в строке поиска напишите “in: inbox” – увидите список последних писем в инбоксе. Выберите все письма на странице, после этого можно будет выбрать вообще все письма из результата поиска.

Осталось отправить их в архив.

Теперь инбокс у меня – священное место, которое должно быть чистым, как классический инбокс на столе. Что-то в инбоксе – значит что-то нужно сделать, и делать до тех пор, пока там не станет пусто.

Как работают кварцевые часы

Что общего между дешевыми наручными часами, настенными часами с маятником, золотом и нотой ля? Ответы на эти вопросы станут очевидными если разобраться в удивительном принципе работы привычных, дешевых кварцевых часов.

Страны без МакДоналдса

Free – свободный, бесплатный. «Free WiFi zone» означает, что тут бесплатный вай-фай. А «WiFi free zone» это зона свободная от вай-фая, то есть тут точно интернета нет. К чему это я? На картинке – MacDonald’s Free Countries – страны, куда еще не успел прийти МакДоналдс.

Означающий принадлежность ‘s постоянно попадает в русский язык. В английском он означает место, дом, заведение, принадлежащее человеку. В нашем случае МакДоналдс это «У МакДоналда». Американцы и канадцы любят называть его Mickey D’s.

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

Контронимы

Все знают про синонимы, омонимы и антонимы, но как насчет контронимов? В русском языке их в принципе нет, во всяком случае, ничего вразумительного я не нашел, за исключением одного слова – “санкционировать”. Но в английском их куча.

Контроним это смесь антонима и омонима: два слова имеют противоположенное значение, но одинаковое написание. Их еще иногда называют анти-антонимами.

Custom – обычный и особенный

Dust – пылить и стряхивать пыль

Consult – советовать и просить совета

Screen – скрывать и показывать

Sanction – разрешать и запрещать

Out – видимый (stars are out) и невидимый (lights are out)

Handicap – преимущество и недостаток

Enjoin – прописывать и запрещать

Dollop – много и мало

Clip – прикрепить и открепить

Aught – все и ничего!!

Контронимы также называют «словами Януса» (Janus words) – двуликими словами. Имя этого бога происходит от латинского слова, означающего дверь, что само по себе – контроним: вход и выход.

god janus

Янус так же дал название январю – началу и концу года.

Адаптивный веб-дизайн

Животные звуки

Я заметил, что в английском языке намного удобнее и проще описать разные животные звуки. Например, в русском принято, что собака говорит «Гав!». Но я никогда не слышал, чтобы собака говорила «гав». Собаки звучат так «уфф-уфф-вуфф!». Поэтому в английском используется “woof”, “arf”, “ruff” – намного ближе к оригиналу.

“Meow” и “mrow” – да, вполне. Кошка еще может и урчать – «purr».

Утки кричат «кря»? Возможно, это уже не утки. Утка звучит так – “quack!”.

Легче всего с коровой – она почти во всех языках говорит «му-у» (“moo”). С кукушкой тоже ничего особого не придумаешь – кукует она.

Лошадь – «игого»? Скорее “wehee!”.

Кстати, благодаря голливудским фильмам многие считают, что все лягушки звучат так (“ribbit”). Когда на самом деле большая часть лягушек вообще никак не звучат или звучат иначе. Те виды, что издают звук “ribbit” водятся по большей части только в Америке, в частности – в Голливуде, и такие звуки используются киношниками для всех подряд видов лягушек.

С другой стороны, с петухом в английском перемудрили – он почему-то говорит “cock-a-doodle-doo”.

Чуть более странная ситуация со звуками, которые издают люди, чтобы общаться с животными. Удобное и понятное “кис-кис-кис” в английском превращается в “here, kitty-kitty-kitty”, а «брысь» – в “scat”.

Гнать лошадь вперед по-русски принято командой “Но!”, а по-английски – “giddyup”, и соответственно, останавливать лошадь – «тпру!» и “woah”.

Ну, раз уж заговорили о животных, вот списочек типичных кличек для домашних кошек и собак:

  • кошка: Барсик, Васька, Рыжик, Мурка – Tom, Boots, Misty, Lucky
  • собака: Шарик, Тузик, Бобик – Bounder, Rex, Bowser, Lassie, Rover, Spot, Fluffy, Snowy

Советы себе в прошлом

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

Все советы автономны и их порядок не имеет значения.

Какой язык должен знать любой разработчик? Не, не Си и не Джаву. Английский. Учите английский, и не только технический, но и разговорный.

Программируйте. Программируйте. Программируйте. Менеджеры той компании, где я работаю, придерживаются мнения, что резюме программиста это github. Конечно, это лишь выражение, смысл в том, что от программиста в первую очередь ожидают код, а потом – оценки, рекомендации и сертификаты. Программируйте. Опыт важнее оценок и точка. Если работодатель настаивает на обратном, то подумайте дважды, перед тем, как устраиваться к нему на работу.

Познакомьтесь с UNIX. Установка Убунту и компиляция ядра – это не знакомство с UNIX. Почитайте о том инженерном и научном фундаменте который лежит в основе философии UNIX. Не обязательно становится крутым сисадмином и поднимать десяток серверов, лучше просто привыкните к принципам работы и UNIX way.

Математика – это главное. Не смотря на сугубую потребительскую направленность многих софтверных компаний, фундаментальные науки остаются основой всего.

Задавайте вопросы. Естественно, если не нашли ответ в гугле. Соответственно, не задавайте вопросы, на которые может ответить гугл. Сайт StackOverflow – ваш лучший друг. Задавайте вопросы в интернете, среди друзей, учителей, коллег. Глупый вопрос лучше незнания.

Познакомьтесь с системами контроля версий. Хотя бы с основными – SVN, Git, Mercurial. Откройте репозиторий на своей машине и используйте его для домашних заданий и собственных проектов.

Познакомьтесь с современными инструментами разработки. Зачастую в университетах не уделяют внимания средам разработки и другим программам и утилитам, необходимым для полноценной работы. Многие IDE бесплатны, попробуйте Eclipse, NetBeans, Emacs, XCode, привыкните к принципам работы, найдите удобный для вас инструмент.

Научитесь пользоваться отладчиком. Это настолько критично, что совершенно непонятно, почему университеты уделяют этому так мало внимания.

Познакомьтесь с методологиями разработки. Сложно им придумать применение в университетской жизни, но все же возможно. Как минимум, вы можете попробовать использовать какую-нибудь методологию в своем с другом проекте.

Познакомьтесь с шаблонами (паттернами) проектирования. Про это уже сто раз говорили, но я повторюсь. Здесь вы не отвертитесь и применить хотя бы пару основных паттернов где-нибудь просто обязаны. Достаньте свой телефон и взгляните на первую попавшуюся программу: представьте, как можно к ее разработке применить какой-нибудь паттерн.

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

Работайте над собственными проектами. Обратно к первому пункту – программируйте, но не ограничивайтесь домашними заданиями или упражнениями из книг. Начните свой проект.

Изучите новый для себя язык программирования. Иногда слышу нечто вроде «нас учат чему-то, но я не знаю, где это будет применяться в жизни». Такие люди зачастую настолько уверены в бесполезности некоторых этих знаний, что после окончания университета работают по какой-то другой специальности потому что их не научили программировать на популярном сегодня языке программирования. Забудьте фразу «мне это не понадобится в будущем». Когда в детском саду учат читать, то никто не готовит профессиональных чтецов. Детей просто учат пользоваться инструментом для получения информации.

Свыкнетесь с мыслью, что кодинг – далеко не единственное, что придётся делать. Скорее всего, разработчику нужно будет работать с клиентами, искать решения проблем, бороться с инструментами и технологиями.

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

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

Не забывайте о принципе Парето. 20 процентов усилий дают 80 процентов результата. Это, естественно, не правило, но вполне очевидная тенденция.

Прочтите классику: Code CompleteThe Pragmatic ProgrammerThe Practice of ProgrammingDesign Patterns.

Учитесь планировать. Те же университетские задания – оцените, сколько у вас уйдет времени, а по окончании проанализируйте работу. Делайте это постоянно и для разных типов работы. Разработчик, который выполняет работу вовремя намного ценнее разработчика, который иногда выполняет работу быстрее других. И не волнуйтесь, если так и не научитесь чётко оценивать объем будущей работы – этого никто не умеет делать :-)

Расставляйте приоритеты. Еще один совет в от Капитана Очевидность. Вкупе с предыдущим советом можно в разы повысить эффективность.

Не зацикливайтесь на обеспеченности работой. Не работайте против своей воли только потому что сейчас и здесь платят деньги. Лучший способ обезопасить свою карьеру – постоянно развиваться и работать с удовольствием.

И самое главное: если вам не нравится программирование, то не становитесь программистом. Очень просто :-) Ничем хорошим работа без удовольствия закончиться не может.

Надеюсь, еще через пять лет я дополню этот список новыми советами, а пока можете посоветовать что-нибудь сами.

Desire path

Мы все видим и пользуемся тропинками, протоптанными людьми. В английском языке они называются desire paths или social trails. Зачастую, наличие таких тропинок в городских парках или просто на земляном или травяном покрытии означает изначально некорректное расположение дорожек настоящих.

desire path

Desire paths идут там, где удобно ходить большинству людей, определяют оптимальный маршрут. Люди, занимающиеся планированием городов и парков должны почаще обращать внимание на эти социальные тропинки, потому что на их месте должны находиться настоящие дорожки.

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

eye tracking on websites

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

Desire path наблюдается во многих успешных технологиях. iPhone стал социальной тропинкой, ведущей в мир удобных: простых и многофункциональных смартфонов, Google стал социальной тропинкой в сторону быстрого качественного поиска…

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

Space vs. room

Для обозначения пространства в английском языке используются два слова — привычное нам space и не совсем привычное room.

– I have a lot of free space in my garage.
– В моем гараже много свободного места.

Чаще всего слова выступают в роли синонимов, но иногда использование одного из них предпочтительнее. Например, когда речь идет о животе:

– Oh, my god, I ate too much, I don’t have room left for desert.
– О, боже, я съел слишком много, у меня не осталось места на десерт.

Общая рекомендация следующая: room для пространства, которое можно занять, когда речь идет о том, достаточно ли пространства для чего-либо (место в здании, на жестком диске, и так далее); space для пространства в широком смысле (пространство в поле, космическое пространство, и так далее).

К тому же, когда дело касается пространства на экране компьютера, то принятым термином является screen real estate («экранная недвижимость»).

Useful vs. good for you

В русском языке «полезный инструмент» и «полезный для здоровья фрукт» происходят от одного слова — польза. В английском практическая польза, пригодность выражается словом useful:

— This vegetable chopper is very useful when it comes to smoking weed.
— Этот измельчитель овощей оказался очень полезным когда дело касается курения травки.

Когда же дело касается пользы для здоровья, то сухая функциональная пригодность слова «usefulness» уже не подходит.

— Fruits are good for you.
— Фрукты полезны для здоровья.

Можно также использовать «helpful»:

— Eating healthy is helpful.
— Здоровое питание полезно.

Распределенные эволюционные вычисления

Одна из моих любимых тем в программировании – эволюционные вычисления и генетические алгоритмы в частности. Пару лет назад я поднимал эту (в целом уже заезженную) тему на Хабре, но сейчас глядя на то видео немного стыдно – слишком уж туманно и сумбурно было объяснение.

Сегодня я постараюсь объяснить генетические алгоритмы проще и нагляднее, а заодно рассказать вкратце о прототипе очень простого JavaScript-фреймворка для распределенных генетических вычислений degas.js. В двух словах – degas.js запускает генетический алгоритм в виде “треда” в браузере клиента используя web workers и обменивается информацией о полученных в ходе эволюции индивидуумах с сервером и другими клиентами с помощью web sockets. Сервер использует node.js.