?

Log in

No account? Create an account
Сегодня я узнал, что замечательное стихотворение Тютчева «Silentium» (наверное, моё любимое поэтическое произведение) Владимир Набоков однажды перевёл на английский язык. И перевёл восхитительно.

Оригинал:
Молчи, скрывайся и таи
И чувства и мечты свои -
Пускай в душевной глубине
Встают и заходят оне
Безмолвно, как звезды в ночи,-
Любуйся ими - и молчи.

Как сердцу высказать себя?
Другому как понять тебя?
Поймёт ли он, чем ты живёшь?
Мысль изречённая есть ложь.
Взрывая, возмутишь ключи,-
Питайся ими - и молчи.

Лишь жить в себе самом умей -
Есть целый мир в душе твоей
Таинственно-волшебных дум;
Их оглушит наружный шум,
Дневные разгонят лучи,-
Внимай их пенью - и молчи!..


Перевод:
Speak not, lie hidden, and conceal
the way you dream, the things you feel.
Deep in your spirit let them rise
akin to stars in crystal skies
that set before the night is blurred:
delight in them and speak no word.

How can a heart expression find?
How should another know your mind?
Will he discern what quickens you?
A thought once uttered is untrue.
Dimmed is the fountainhead when stirred:
drink at the source and speak no word.

Live in your inner self alone
within your soul a world has grown,
the magic of veiled thoughts that might
be blinded by the outer light,
drowned in the noise of day, unheard...
take in their song and speak no word.

Набоков — великий человек, я восхищаюсь его лингвистическими способностями. Многие носители английского утверджают, что «Лолита» отличается одним из красивейших стилей языка, которые они когда-либо читали. Это о чём-то да говорит.

18 мар, 2013

[10:22:23 PM] Alex Polozov: больше всего ненавижу состояние, когда мотивации нет, а кодить нужно
[10:22:48 PM] Alex Polozov: в таком состоянии часы тратятся на то, чтобы добавить юниттесты, изменить синтаксис DSL, сделать 1001 рефакторинг и т.д.
[10:23:02 PM] Alex Polozov: вроде и кода много, и коммиты есть, и результат красиво выглядит
[10:23:06 PM] Alex Polozov: а по сути ни черта не изменилось

Ignorance

ig·no·rant adjective \ˈig-n(ə-)rənt\
1. destitute of knowledge or education; also: lacking knowledge or comprehension of the thing specified;
2. resulting from or showing lack of knowledge or intelligence

Merriam-Webster dictionary

People often complain about someone's ignorance. For them it means accusing other people who don't care about a particular issue of being ignorant about it. I, too, consider ignorance to be one of the greatest world tragedies as of now. However, not caring about issues is not ignorance.

Ignorance, by definition, is not being aware about a subject. Having an opposite opinion on a subject is not ignorance; it can result from ignorance in some other facts, but differing in opinions is not being ignorant per se. Similarly, not caring about a subject is also not an example of ignorance: not caring is a form of opinion — an opinion of the subject not being important enough. Again, you can accuse someone of not considering a subject important, but you cannot accuse them of not being aware about it.

What is truly dreadful is actually not knowing about an important subject. This is a true ignorance. You are free to hold any opinion (or no opinion at all, if you can justify this particular opinion of not caring), but there's no justification for the lack of awareness. Without knowing about issues you can't form any opinion about them. Without acknowledging history you cannot take your lessons from it. The latter fact is probably the most terrifying consequence of ignorance, because it nullifies the entire purpose of history being taught in schools: learning our lessons.

At this point you may ask, "Wait, but how can I be aware about everything in the world to sort it out into important and not important?"

And my answer is very simple.

"Well, learn!"
История болезни. День третий.
Мозг пациента сопротивляется и упорно пытается нажимать на стрелки в консоли и на hjkl где угодно ещё.

эти маленькие детали

О великолепном мультфильме “Up” производства студии Pixar:

“The film starts off with a black-and-white newsreel, which started us thinking about using color to help tell our story. When Ellie is alive and Carl is full of life, the color palate is saturated. When she’s gone, it’s desaturated, almost black-and-white again. We also came up with a color to symbolize Ellie-magenta. Throughout the whole film, there are magenta flowers and skies to remind us of her. When Carl shuts himself off from the world, the colors desaturate and we don’t really see color again until Russell arrives and interrupts his life. That brings color back into his life. Every time we see a new character that adds to his life, like Dug, we introduce more color.”

“Up” production notes

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

Вообще, для меня Pixar — это определение идеала профессионализма в кинематографе. Для тех, кто не видел “Up”: посмотрите одну сцену из его начала, 4-5 минут длиной.

Разыскивается язык

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

Для Windows-приложений и собственных проектов: C#/F#.

Для Android-приложений: Scala.

Для маленьких скриптов и тех редких проектов, которые выигрывают от динамической типизации: Python.

Для математических вычислений: Wolfram Mathematica.

Для быстрых вычислений, нативно компилируемый... oops.

А вот тут-то ниша пустеет. В тех случаях, когда скорость действительно критична, приходится материться, скрежетать зубами аки Станнис Баратеон и садиться за C++. Часто можно выкрутиться и писать на C++ только библиотеку с небольшими функциями, которую можно подгрузить в C# / Python / Mathematica, но всё-таки это не то: на коммуникацию теряется скорость, да и единый проект в одной инфраструктуре тоже выигрывает по скорости у комплексного. Если уж случилось так, что программа должна быть настолько быстрой, насколько это возможно, то приходится жертвовать многим... но вот жертвовать выразительностью языка я не хочу, ибо эта фича ортогональна нативности. C++ ужасен и порочен от рождения, и даже C++11 и Boost не удаётся полностью исправить все его бесчисленные недостатки (хотя с ними C++-программирование стало хотя бы терпимой мукой, нежели адской мукой). Часто удаётся всё же написать весь проект на C#, скорость JIT-компиляции уже довольно близко подобралась к нативной... но мы сейчас говорим про те редкие проекты из другой ниши, где каждая миллисекунда имеет значение.

Итак, разыскивается язык с нативной компиляцией, богатой стандартной библиотекой, функциональными/декларативными фичами в синтаксисе, сборкой мусора, желательно с параллельным программированием в стандартной поставке. Может ли кто что-нибудь посоветовать? На что имеет смысл посмотреть?
D? Go? Ada? 

r.i.p aaronsw

Оригинал взят у avva в r.i.p aaronsw

Аарон Шварц, сетевой вундеркинд и активист, программист и хакер в лучшем смысле этого слова, покончил жизнь самоубийством. Ему было 26 лет.

Я не общался с ним лично, но периодически читал его веблог и спорил с ним у себя в голове. Он немало успел (соавтор стандарта RSS в 14 лет, один из основателей Реддита, автор фреймворка web.py и многое другое). Его интересовало почти все и он легко увлекался почти всем. Два года назад его увлекла идея "освободить" доступную только подписчикам огромную базу данных академических статей JSTOR; он поставил лаптоп в заброшенном чулане в MIT, и установил на нем скрипты, скачавшие миллионы статей; его поймали и обвинили по куче антикопирайтных статей. Иначе как героической эту его попытку у меня назвать не получается. Суд по его делу начался лишь недавно и грозил ему теоретически 35 годами тюрьмы, и в любом случае сотнями тысяч долларов расходов на адвокатов. Психологическое давление от долгого расследования и агрессивных обвинений федеральной прокуратуры (при том, что номинально пострадавший JSTOR отказался от судебного преследования и просил закрыть уголовное дело), по-видимому, сыграло свою роль, хотя у Шварца были периоды клинической депрессии и в прошлом.

Очень жаль.

Несколько статей с воспоминаниями:
http://lessig.tumblr.com/post/40347463044/prosecutor-as-bully
http://boingboing.net/2013/01/12/rip-aaron-swartz.html
http://blogs.law.harvard.edu/philg/2013/01/12/aaron-swartz/

(P.S. ему легко давался неприятный тон наглого превосходства, за которым - если придерживаться принципов доброжелательного прочтения - виднелись комплексы, выпестованные многолетними усилиями умного тинейджера быть принятым всерьез. Но главное в том, что впоследствии превосходство неожиданно подтверждалось. Я помню, как читал запись про web.py, бесцеремонно ругающую фреймворки-конкуренты, и хвалящую свой новый фреймворк, и качал головой с сожалением. А года 2-3 спустя мне нужно было написать небольшое веб-приложение на Питоне, я просмотрел на кучу фреймворков, и был поражен тем, как web.py по простоте дизайна и интуитивности API стоял на голову выше всех остальных).

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

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

Benford


Причины этого поразительного явления разнообразные для разных распределений данных, но чаще всего оно возникает в силу того, что многие процессы в природе развиваются экспоненциально, а у экспоненциально растущей со временем величины первая цифра как раз-таки чаще бывает в диапазоне 1-4, чем 5-9 (подробнее на Википедии). При некоторых естественных допущениях получается точная математическая форма закона.

Что характерно, закон Бенфорда не выполняется, если данные распределены нормально. Однако стоит только смешать нормальное распределение с каким-нибудь ещё (например, вместо высот всех людей на планете взять высоты людей, упоминающиеся в некоей газете), как закон Бенфорда снова вступает в силу.

Я люблю математику.

Метки:

Читаю про Scala. Плююсь и матерюсь на каждом шагу. Похоже, F#, Haskell и прочий ML меня избаловали.

Эх, вот если бы только MonoDroid не стоил $400 за лицензию...

IT states

В штате Вашингтон вчера вечером легализовали марихуану и разрешили однополые браки.
В штате Калифорния в тот же день не легализовали марихуану, не разрешили однополые браки, и к тому же оставили смертную казнь.
Айтишники, делайте правильный выбор. Valley sucks, long live Seattle!

5 ноя, 2012

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

Так, меня всегда больше всего умиляло словечко "regardless"... до тех пор, пока я сегодня не познакомился с "unbeknownst".

Chocolatey

Оригинал взят у bik_top в Chocolatey
Лицензия на Windows 8 стоит 1290 р. Ну или 460. Для покупки иметь в наличии лицензию на предыдущую версию не обязательно. При желании можно накатывать не поверх, а ставить с нуля — после создания Upgrade Assistant'ом установочной флэшки/исошки.

Но пост не об этом, а о накатывании базового софта на свежеустановленную систему. Делается это так:
0) Открыть консоль: Win+R, cmd.exe.
1) Установить Chocolatey:
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('http://bit.ly/psChocInstall'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin
2) Установить софт:
cinst notepadplusplus
cinst 7zip
cinst adobereader
cinst GoogleChrome
...

Совет дня: subfiles

Если вам нужно часто играться с конфигурацией своего LaTeX-документа (убирать одни секции, добавлять другие, компилировать разные сочетания секций, отправлять другим людям специально скомпилированные куски документа), попробуйте пакет subfiles. Он минимизирует количество телодвижений, необходимых на поддержку общей преамбулы.

Допустим, у вас есть следующий главный файл Paper.tex:

% Преамбула
\usepackage{subfiles}
% Ещё преамбула
\begin{document}
  \subfile{Methods}
  \subfile{AnotherSection}
  \subfile{OtherStuff}
\end{document}

А каждую секцию вы оформляете в отдельном файле, и выглядеть она будет так (на примере Methods.tex):

\documentclass[Paper.tex]{subfiles}
\begin{document}
  \section{Methods}
  % Текст
\end{document}

Теперь, если запустить LaTeX на файле Methods.tex, он возьмет преамбулу из главного файла и скомпилирует одну секцию из документа в стиле оформления всего документа.

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

\documentclass[Paper.tex]{subfiles}
\begin{document}
  \subfile{Methods}
  \subfile{AnotherSection}
\end{document}

Очень удобная штука. Рекомендую.

Cooking padawan

Основная проблема, когда учишься готовить — это слишком увлекательно.
Вот сейчас, к примеру, я должен был бы работать: сидеть за ноутом и писать код. Мне нужно написать много нудного кода.
Вместо этого я подумал, и пошел на кухню пробовать делать себе блины на ужин.
Правда, вместо тоненьких круглых блинчиков получились толстые оладьи рваной формы, но процесс и результат гораздо интереснее :)
Оригинал взят у avva в иррациональность пи (математическое)

akuklev дал ссылку на статью с очень простым доказательством иррациональности числа пи.

Там строится (с помощью простых интегралов) последовательность In, такая, что: а) она положительная и очень быстро сходится к нулю (доминирует фактор 1/n!); б) каждое In является многочленом от пи степени не больше n, с целыми коэффициентами.

Предположим теперь, что пи рационально и равно a/b; тогда каждое bnIn - целое число, но последовательность bnIn все еще сходится к нулю, и это абсурдно.

Несложно и красиво.

Жизнь

Знаете, что такое жизнь?

Выходить в четыре часа ночи из здания Microsoft Research с чувством выполненного долга оконченного дебага и ощущением, что ты только что заставил работать то, что до тебя не придумывал никто на свете Computer Science.

Садиться на велосипед и мчаться по ночному Редмонду, подставляя лицо прохладному сентябрьскому ветру. Мчаться по велотреку, смотреть на несмолкающий хайвей с одной стороны и вечно светящуюся вереницу зданий Microsoft с другой.

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

Вот это — жизнь. Я буду по ней скучать.