Полезные программы для смартфона айтишника

Обучающие программы на смартфон, чтобы регулярно улучшать свои навыки в сфере IT и смежных областях.

1. SoloLearn. Программа с теорией и практическими заданиями для изучения основ программирования на разных языках: Python, HTML/CSS/JavaScript, C/C++, Java, C#, Ruby, Swift. Можно изучить синтаксис и базовые принципы нового языка программирования «на ходу», в ожидании или в транспорте. Для продвинутых пользователей есть задачи посложнее на написание и понимание кода.

2. Lingualeo или Duolingo для изучения языков. Несколько упражнений каждый день помогут укрепить знания и потренируют распознавание языка на слух и ваше произношение. Короткие задания разнообразие упражнений поддерживают мотивацию учиться каждый день.

3. Coursera, Udemy или EdX. Почти все известные платформы для онлайн курсов типа MOOC (Massive Open Online Courses) также есть и на смартфоне. Функционал приложения часто ограничен, некоторые задания можно делать только на компьютере. Но изучать теорию по видео-лекциям и отвечать на тесты вполне реально.

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

Об актуальной и потенциальной бесконечности. Часть первая: введение в 0,(9)

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

Ан нет, об этом, оказывается, люди говорят. То есть говорили в 2006 году. Немного опоздала я с прочтением этой записи «0,(9) = 1» в блоге Ильи Бирмана, и комментарии к ней уже закрыты. Но все равно хочется сказать пару слов, поэтому буду обращаться к широкой публике, так сказать, со своей трибуны.

Спор идет, собственно, о таком тезисе:

0.(9) = 1

То есть это фактически одно и то же число, просто разная его запись.

Так вот, оставим немного в стороне чисто математические доказательства и агрументы, сводящиеся в целом к тому, что эта сущность 0.(9) ведет себя так же, как и единица. Эти математические соображения неплохо освещены у автора статьи, с которой это обсуждение началось, а еще об этом можно почитать Википедию. Конечно, я не имею ввиду всю историю данной проблемы, идущую из начала 20 века или даже ранее, а говорю о текущем витке такой ленивой и распределенной дискуссии.

Хочется обратиться к одной фразе Ильи, которая может быть интерпретирована по-разному. И в зависимости от этого, наша философская (или метаматематическая в данном случае) позиция будет различаться.

0,(9) — это не последовательность и не функция, а число. Число не может никуда стремиться, оно стоит себе на месте на числовой прямой и не дёргается.

Вот тут, господа, зарыты собаки. А уверены ли мы, что 0,(9) — это точно число? Что такое число? Что мы можем называть числом, а что — нет? В данном случае используются всего лишь символы. И если вы будете говорить в духе Ильи, что два разных сочетания символов (0,(9) и 1) обозначают абсолютно одно и то же, то пожалуйста, разговор на этом заканчивается.

Но меня одолевает сомнение: как и зачем двумя разными изображениями мы представляем одно и то же? Тут может быть 2 ответа. 1. Либо это не одно и то же. 2. Либо мы стараемся разными изображениями осветить разные свойства одного объекта.

Про второе. Здесь мы можем сказать, что сама по себе единица выражает свою сущность и только. Какова сущность единицы? В том ли она, что это первое натуральное число, или что это нейтральный элемент группы по умножению, или что это монада, означающая вселенское единство… Ха-ха, вон уж до чего докатились. Нет уж, пусть будет она вещью в себе, объективной и поэтому недоступной идеей. Мне вообще иногда кажется, что некоторые абстрактные сущности слишком хороши, чтобы поверить в то, что их придумали люди. Так-то вот за Платоном и увяжешься. 🙂 Но мы сюда пришли не за этим.

Какова же вторая сторона единицы, которая выражается в другой записи: 0,(9)?

Обычные люди для себя это воспринимают примерно как «бесконечное число девяток после запятой». Более детально можно это себе представить как результат бесконечного умножения 0,(3) на 3. Или уж совсем математически как предел последовательности или сумму бесконечного ряда. И все равно, куда ни плюнь, невозможно уйти от слова «бесконечность». Здесь мы подразумеваем процесс. Говоря и записывая «1», мы ничего не создаем. Просто записали один раз какую-то палочку — и все. А вот в случае с бесконечной периодической дробью мы ее просто так получить не можем, мы ее все время конструктивно воссоздаем. Из этих девяточек выстраиваем. Ставим их в ряд одну за другой бесконечное число раз. И вот главный вопрос: когда мы записываем 0,(9), то подразумеваем ли мы, что это бесконечное записывание возможно? Или что оно реально приведет к какому-то пределу? Заканчивается ли когда-нибудь эта бесконечность? Может ли быть бесконечность чем-то законченным то есть конечным?! Вот такие вопросы задавали конструктивисты 20 века и в них искали основания настоящей математики.

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

Продолжение следует.

Экзамен по философии науки

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

Как там говорил Дорожкин про причину молчания Будды: это невыразимо, если это будет высказано, то не будет понятно, если это будет понято, то это нельзя будет передать другим… Вот так же и с моими ощущениями.

Экзамен проходил в противоречии. Прямо-таки диалектика Гераклита. Знания у меня были. Но страх перед авторитетом (привет, идолам товарища Бэкона!), некритическое отношение, задавленность и зависимость от преподавателей просто живут во мне. Всегда.

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

Нет, было не все в порядке. Потому что, комментируя мой реферат, Антаков говорил очень много дельных и хороших вещей, которые были логическим продолжением его рецензии… Однако большую часть я, – признаемся честно, – не поняла. Буду оправдываться: ну, во-первых, волнение. Во-вторых, я еще не прочла всю рецензию и была «не в материале». Так что прошу извинения за сумбурный разговор и рассеянность. Я еще подхвачу, еще отвечу, наверное. Если силы найдутся и время.

Если бы мне просили отвечать по билетам, то не получилось бы, конечно, твердой пятерки. Ну поставили бы, да, из вежливости, но если по-честному, то подготовка уже не та. Помню, бывало, две тетрадочки по матанализу наизусть я воспроизводила — это было прилично. На экзамен идешь и не боишься ничего. А теперь силы уже не те. Конечно, сейчас другая ситуация, появилась работа, ответственность и прочие вроде бы более важные вещи.

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

Ну что же, значит, надо работать. Значит, надо заслужить. Будем стараться. 🙂

Если интересно, вот текст моего реферата.

Математическая теория музыки. Что такое «Хорошо темперированный клавир?».

7 лучших плагинов для Firefox

Браузер Mozilla Firefox почему-то сразу мне приглянулся, и уже несколько лет я использую его с большим удовольствием. Кстати, судя по последним тенденциям, все больше людей переходят на Firefox (ну или хотя бы уходят с Internet Explorer’а).

Основной проблемой для меня как пользователя Firefox оказалось быстродействие. Огненный Лис почему-то иногда тормозит, подвисает и вообще нестабилен. Но я его все равно люблю. 🙂

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

1. Web 2.0 Toolbar

Для SEO- и особенно SMO-мастеров это вещь незаменимая. Кто не знает, предлагаю обязательно заценить. Показывает все новости (Digg, Reddit, Netscape, TechCrunch …), последние популярные странички в Del.icio.us, самые лучшие видео, картинки и новости прессы. Содержит в себе кнопки submit для множества сетей социальных закладок.

2. Web Developer

Web Developer :: Firefox Add-ons

Этот плагин полностью соответствует своему названию и предназначен для web-разработчиков. Конечно, я не web-developer в полном смысле этого слова (скорее я дилетант во многих областях одновременно). Но для тестирования даже парочки своих сайтов этот плагин оказался мне очень полезен. Он умеет показывать блоки, подробную информацию о них, размеры в пикселях, вложенность div’ов. Можно отключать какие-то элементы страницы (стили, картинки), можно просматривать cookies, а можно и проводить валидацию HTML, CSS и JavaScript.

3. Tab Mix Plus

Tab Mix Plus :: Firefox Add-ons

Единственное, из-за чего я всегда устанавливаю этот плагин — это возможность располагать новые вкладки (табы) на следующей строчке. Там есть еще много всяких возможностей. Например, подсвечивать разные вкладки, изменять их ширину в зависимости от заголовка страницы, установить на панели кнопку добавления новой вкладки… В общем, любители найдут, чем поиграть.

4. ColorZilla

ColorZilla :: Firefox Add-ons

Это очень маленькое и удобное дополнение для дизайнеров и верстальщиков, которое работает как пипетка в Photoshop. Она берет любой цвет с экрана браузера и показывает его параметры в RGB и в 16-ричном виде. Еще можно приблизить часть экрана с помощью zoom и сохранить любимые цвета в favorites.

5. Del.icio.us

Del.icio.us Bookmarks Firefox Plugin

Это сервис социальных закладок, и тем, кто им пользуется, наверно, будет удобно поставить плагин для браузера, который добавляет всего две кнопочки: «My Del.icio.us (мои закладки)» и «Tag this (отметить)». Есть еще и toolbar, но мне он показался не очень нужным, поэтому обхожусь без него. А так, плагин скромный и приятный, закладки всегда под рукой.

6. DownThemAll!

Так много развелось этих download-менеджеров, что просто уже деваться от них некуда. На память могу назвать ReGet, FlashGet и еще какие-то …Get, и все они кажутся мне тяжеловесными. Простой загрузчик «Down Them All» умеет скачивать файлы по частям, а больше ничего и не нужно. По крайней мере для непритязательного сёрфера.

7. GreaseMonkey

Это очень классная штука, которой я сама не пользуюсь, но настолько прониклась идеей, что думаю обязательно когда-нибудь изучить JavaScript поподробнее и самой писать пользовательские скрипты. Открывается невероятный простор для творчества, и надо лишь только начать… Ну, когда-нибудь. 🙂

Конечно, плагинов и дополнений очень много, поэтому ищите и обрящете. 🙂

Как установить Gravatars на WordPress-блоге, не используя плагины

Gravatar - Globally Recognized Avatars

Отличный способ добавить в свой блог глобально распознаваемые аватары (GRAvatar = Globally Recognized Avatar) я нашла на блоге Коннора Уилсона (Connor Wilson).

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

  1. Вы введете свой e-mail,
  2. Поддерживается сервис gravatars.

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

А пока давайте посмотрим, как включить Gravatars на своем WordPress-блоге.

В файле comments.php и лучше всего после начала вот этого цикла <?php foreach ($comments as $comment) : ?> вставляем такой код:

<?
$email = $comment->comment_author_email;
$default = ""; // link to your default avatar
$size = 70; // size in pixels squared
$grav_url = "http://www.gravatar.com/avatar.php?gravatar_id=
" . md5($email) . "&default=" . urlencode($default) . "&size=" . $size;
?>

Теперь там, где нужно показать саму картинку аватара, пишем

<img src=”<?=$grav_url ?>” height=”<?=$size ?>” width=”<?=$size ?>” alt=”User Gravatar” />

Вот и все. Теперь можно настроить размер картинки в строке $size = ...; и задать стили: рамку, отступы и так далее.

Пример работы можно увидеть в комментариях этого блога.

Как сделать свой сайт OpenID-логином?

Самое главное сказано в статье «Собственный блог как OpenID-идентификатор», которую я прочитала на Хабре.

Цитирую:

1. Если вы уже зарегистрированы в livejournal.com, moikrug.ru или любом другом сервисе, предоставляющем OpenID, то ничего делать не нужно. Если нет – регистрируемся в любом провайдере OpenID (например, myopenid.com).

2. Идём на страничку вашего идентификатора (например, myname.openid.com, myname.livejournal.com и т.п.), открываем исходник страницы и ищем строку вида
<link rel=”openid.server” href=”адрес” />.

3. Вставляем в блок head вашей странички, которую вы хотите сделать идентификатором, следующие строки:

  • <link rel="openid.server" href="адрес />"
    — ту, которую вы нашли перед этим
  • <link rel="openid.delegate" href="адрес" />,
    где адрес — это OpenID-идентификатор, предоставляемый вашим провайдером (например, myname.openid.com)

В итоге, на вашей страничке должно быть что-то вроде этого:

<head>
<!-- пропущено -->
<link rel="openid.server" href="http://www.myopenid.com/server" />

<link rel=”openid.delegate” href=”http://daeq.myopenid.com/” />
<!– пропущено –>
</head>

С «Моим кругом» этого я не пробовала, с Livejournal возникли проблемы с отображением имени, а вот с myopenid.com все получилось очень хорошо.

Для тех, кто хочет сделать так же.

1. Регистрируемся на myopenid.com.

2. Добавляем там «New Person» и называем своим именем. Именно то, что вы напишете в поле «Persona name» будет потом отображаться как имя в вашей OpenID-подписи.

3. Дальше все просто. Каждый может увидеть, что в блоке <head> моей главной страницы есть вот такие строчки:

<link rel="openid.server" href="http://www.myopenid.com/server" />
<link rel="openid.delegate" href="http://Kate.Kulikova.myopenid.com/" />

Добавляете такие же к себе на сайт. Во второй строке пишете свой OpenID-адрес — … и все. 🙂 Это работает.

Ответ по OpenID

Что было?

Итак, проблема состояла в следующем: после установки этого блога делегатом моего OpenID из Livejournal все было хорошо, но имя отображалось не так, как я бы хотела «Kate Kulikova», а «blog» или «blog.kulikova.nnov.ru». Таков был вопрос по OpenID.

Что стало?

Бесплатный провайдер OpenID - myopenid.com

Бросайте, господа, этот LiveJournal, который дает не пойми какой OpenID. Долго ходила я там по вкладочкам и искала, как заменить displayed name на что-нибудь приличное. И не нашла. Если кто найдет, то скажите…

На одном американском сайте автор сказал мне, что он завел себе OpenID на специальном сервисе типа myopenid.com, myid.net или getopenid.com.

Я отправилась, не раздумывая на myopenid.com, потому что этот адрес мне сразу и легко запомнился (вот оно – вебмастерам на заметку: делайте URL запоминающимся!), и за пару минут зарегистрировала себе новый OpenID. Потом настроила перенаправление, чтобы можно было везде подписываться адресом этого блога — и все. 🙂

Очень хорошее и простое решение. Всем советую.

HTML и CSS > Границы ячеек в таблицах

Кто бы мог подумать, что такая простейшая вещь, как рамки (borders) для пустых ячеек внутри таблицы, не работает в IE 6. А может быть и в других IE тоже, этого я не знаю, не было возможности проверить… Но это, конечно, возмутительно.

Итак, у нас есть таблица, в которой некоторые ячейки заполнены, а некоторые пусты. Ее html-код таков:

<table>
<tr>
<td>item 1,1</td><td></td><td>item 1,3</td>
</tr>
<tr>
<td></td><td>item 2,2</td><td>item 2,3</td>
</tr>
</table>

Добавляем стили, чтобы отрисовать границы всех ячеек в таблице (в том числе и внутренних):

table
{
border-color: #600;
border-width: 0 0 1px 1px;
border-style: solid;
}
td
{
border-color: #600;
border-width: 1px 1px 0 0;
border-style: solid;
margin: 0px;
padding: 4px;
text-align: center;
empty-cells:show;
}

И видим вот такую картинку:

Конечно, это не совсем то, что хотелось бы. Идем в Google и находим, что нужно применить к table и td свойство empty-cells: show;. Отлично! Добавляем его в стили и видим, что это ничего не изменило для Internet Explorer 6. Но более приятная картинка теперь в Mozilla Firefox 2.0.*:

А это небольшое уточнение для IE, которое заодно сделает все границы ровными и без разрывов, я нашла на Accessify Forum.

В свойства table добавляем строчку border-collapse:collapse; и видим прелестную картинку в обоих браузерах:

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

Итак, для исходной таблицы получаем следующий CSS в результате:

table
{
border-color: #600;
border-width: 0 0 1px 1px;
border-style: solid;
empty-cells: show;
border-collapse:collapse;
}
td
{
border-color: #600;
border-width: 1px 1px 0 0;
border-style: solid;
margin: 0px;
padding: 4px;
text-align: center;
}

Вот и все мои изыскания по этому вопросу. HTML и CSS — это все-таки какая-то магия. 🙂

Жизнь замечательных людей > Философия для чайников

Философия есть рефлексия над жизнью.
— А. М. Дорожкин (если я правильно его поняла).

Проходя по первым 150 автономным блогам по версии Яндекса, наткнулась на сайт с очень привлекательным названием — «Философия для чайников». Эти слова заинтересовали меня не только потому, что найти в списке популярных блогов что-то о философии показалось мне несколько странным, но и потому, что как аспирант я сейчас изучаю философию, и было бы очень интересно узнать, как могла бы выглядеть философия по-простому, для чайников или, как я люблю говорить, «для тупых». 🙂

Филисофия для чайников

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

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

И оказалось, что есть очень интересные материалы, пусть не столь философские, но очень сильные и продуманные.

Самое большое впечатление на меня произвела статья «Упячка и семантическая смерть». Честно говоря, меня уже давно интересует история возникновения подобных слов и их смысл, если он вообще есть. И как же интересно пишет о словах Кролик, автор этого блога. Вот вы только послушайте:

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

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

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

Суггестивный (от лат. suggestio — внушение) — внушающий, вызывающий собою какие-нибудь представления, идеи.

Кроме исследования некоторых неологизмов русского языка, заинтересовали меня и две другие статьи – 15 мыслей Курта Воннегута часть 1 и часть 2. Первая часть возвышенная и сильная, и какой же противоположностью к ней является часть вторая… Ужас! Лучше бы я этого не видела.

К сожалению, самого Воннегута я никогда не читала, но вот некоторые его мысли и авторская трактовка их мне очень понравились. Больше всего понравилось вот это:

Я настаиваю на том, чтобы вы замечали, когда бываете счастливы. И всегда говорили бы себе (думали или бормотали) в такие минуты: «Если уж это не хорошо, то я не знаю каково».

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

И вам пожелаю: читайте… и будьте счастливы. 🙂

Первый опыт работы с Drupal. Чего не хватает Drupal по сравнению с WordPress?

Introduction

Сейчас я подумываю о запуске нового проекта, уже купила домен и хостинг, и осталось только настроить CMS (Content Management System).

Почитав блог веб-разработчика Дмитрия Сергеева и конкретно статью Сравнение Drupal, Joomla и WordPress решила попробовать систему Drupal как движок для блога. Что же из этого получилось?

Интересные возможности CMS Drupal

На официальном сайте Drupal есть подробные описания всех достоинств этой системы. Вот некоторые из них:

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

Трудности при работе с Drupal

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

1. Проблема с пермалинками.

Оказывается, пермалинки в Drupal не должны иметь слеша в окончании (как например, http://site.com/article1/). Пока я до этого додумалась, прошло 2 дня.

Но зато здесь можно создавать видимость html-страниц, то есть ссылки вида http://mysite.ru/articles/new-features-drupal.html. Это интересная фича.

2. Проблема с содержимым главной страницы.

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

3. Проблемы редактора страниц.

3.1. Отсутствие возможности сохранить в черновики.

3.2. Не нашла, как сделать предпросмотр страницы (а в WordPress есть очень полезная функция preview).

3.3. Нет встроенных тегов в редакторе кода html.

Например, я люблю брать из кнопочек редактора теги <code> и <blockquote>. Особенно последнее слово набирать лень, и легче просто нажать на кнопку. Возможно, эти вещи есть в дополнительном модуле визуального редактора TinyMCE.

4. Мало симпатичных тем.

Может быть, это мои придирки, ведь художественный вкус у всех разный, но все же мне показалось, что красивых тем для Drupal почти нет. Так же думает и Дмитрий Сергеев:

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

Выводы

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

Стоит ли использовать Drupal для блога? Мне кажется, нет. WordPress для этого подходит куда больше. Ну а для других типов сайтов Drupal может оказаться хорошим решением. Так что попробуйте сами. Надеюсь, у вас получится лучше. 🙂