Кодинг

Кодируют все?

2016 год, 51 неделя (19 - 25 декабря)

Всероссийская акция для школьников "Час кода 2016" в этом году оказалась в центре моего внимания. Считаю себя поклонником Scratch и с удовольствием прошёл несколько уровней "Часа кода" за 2015 год. Вроде всё здорово. Но всё же, некоторые сомнения, по поводу всеобщего кодинга, остаются. Мне сложно судить. Спрашивал у учителя информатики: говорит, что "Час кода 2016" наибольшие впечатление произвел на учеников начальных классов. Если исходит из того, что в следующем году начнётся четвёртая промышленная революция, большинству из них потребуются освоить навыки для профессий, которых сегодня ещё не существует. Хочется верить, что школьники начальных классов это чувствуют и интуитивно реагируют правильно.

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

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

Команда: winsat formal -restart clean
Папка  : C:\Windows\Performance\WinSAT\DataStore
Файл   : Formal.Assessment (Recent).WinSAT.xml
Команда оценки производительности запускается в командной строке от имени администратора и не может быть выполнена при питании от батарей. Исполнение этой команды может продлиться больше минуты. В начале имени файла будет дата и время его создания. В любом случае, разумно сделать как минимум простой текстовый файл и сохранить в нём эту информацию для того, чтобы не набирать команду вручную, опасаясь сделать опечатку или вовсе забыть её. Всё это выглядит слегка утомительно и вполне понятно желание сходить в Интернет и скачать специальную, совершенно бесплатную утилиту, которая не требует установки и денег. Такие утилиты в Интернете есть. Все они обещают ничего лишнего на вашем компьютере не делать.

Для тех кто готов изучить и оценить мое решение, я предлагаю очередной JScript. Открыть его можно в блокноте или любом текстовом редакторе, в том числе и консольном. Упрощённо WinSAT.js делает следующее:

  • выполняет команду оценки "winsat formal -restart clean";
  • читает файл с отчётом "Formal.Assessment (Recent).WinSAT.xml";
  • показывает основные оценки;
  • сохраняет оценки в файл WinSATRpt.html;
Файл WinSATRpt.html создаётся для того, чтобы не запускать скрипт каждый раз для просмотра оценок. Повторный запуск имеет смысл только после изменения компонентов системы.

Скачать архив Samples07.zip с примером...

Hard/Soft

Windows 10 с нуля

2016 год, 27 неделя (4 - 10 июля)

До 29 июля осталось совсем немного времени и возможность бесплатно обновиться до Windows 10 ещё есть. Сделать это можно на компьютерах с активированной Windows 7 SP 1 или Windows 8.1. Причём не только с помощью утилиты GTX, но и с помощью установочного носителя. Возможность скачать образ Windows 10 с сайта Microsoft появилась осенью 2015 года с выходом обновления Windows 10 до версии 1511. Причины для обновления до Windows 10 с установочного носителя могут быть разные. У меня, например, нашлось три. Во-первых, не было значка "десятки" на панели задач. Во-вторых, хотелось попробовать ввести ключ по умолчанию. И в-третьих, ну очень хотелось удалить все разделы на жестком диске, а потом разбить его заново и отформатировать. Если кто не знает, такую установку называют чистой или установкой с нуля.

Скачать образ Windows 10 с сайта Microsoft и записать его на флэшку можно с помощью утилиты Media Creation Tool, которая не требует установки. После запуска утилита спросит "Что вы хотите сделать?" и предложить две опции. В моём случае, опция "Создать установочный носитель для другого компьютера" не вызывала сомнение и была как нельзя кстати, так как компьютер на котором я собирался устанавливать "десятку" быстрого доступа к Интернету не имел. К сожалению и на максимально доступной для меня скорости, закачка заняла около часа. Далее, в качестве установочного носителя я выбрал USB-накопитель и минут через 10 получил установочную флэшку.

В отношении установочного ключа или ключа по умолчанию из моих установок получается следующее. Если делать обновление из под Windows 7 SP 1 запустив c установочной флэшки файл setup.exe, то предложение ввести ключ продукта не появляется. Тем не менее, после установки системы на трёх разных компьютерах выяснилось, что ключ всё таки был и к тому же для редакции Home всегда один и тот же.

 YTMG3-N6DKC-DKB77-7M9GH-8HVX7
Проверить этот ключ можно в случае установки с нуля. Для этого нужно загрузиться с флэшки. После завершения загрузки появляется окно установки Windows. На втором или третьем шаге установки будет запрошен ключ. Я вводил ключ по умолчанию и он был принят. Получается, что этот ключ действительно общий для версии Home и его можно вводить выполняя чистую установку Windows 10 Home.

Третья причина сделать установку с флэшки была для меня самой главной. После ввода ключа на экране "Выберите тип установки" был выбран вариант "Выборочная: только установка Windows". После чего появилась возможность редактировать таблицу разделов жесткого диска. Чтобы от старой системы ничего не осталось вначале нужно всё удалить, а потом создать заново. После чего продолжить установку как обычно.

В заключение о драйверах и активации. В моих случаях никаких особых проблем с драйверами не возникло. Единственный не найденный драйвер видеоадаптера NVIDEO после обновления начал показывать высокохудожественные фотографии на экране блокировки. То же самое можно сказать и об активации системы. Достаточно просто подключиться к Интернету и система всё сделает сама. Чтобы убедиться в том, что всё в порядке нужно открыть окно "Параметры", выбрать "Обновление и безопасность" и кликнул по закладке "Активация".

Hard/Soft

"Живая" флэшка с Linux

2016 год, 25 неделя (20 - 26 июня)

С интересом читаю статьи о лёгких стартах и доступных возможностях Linux. Попрактиковавшись с копированием разделов жесткого диска с помощью Dr.Web LiveDisk на USB-носителе, решил поделиться своими соображениями на этот счёт. На мой взгляд, это самый простой способ воспользоваться Linux. Загрузочные флэшки для Windows и Linux очень удобны во многих случаях. Самый популярный - смена пароля Windows. Для создания загрузочной флэшки с Linux из под Windows существуют разные утилиты. Самая простая из них, утилита записи Dr.Web LiveDisk на USB-носитель. Проще я не знаю. Скачал с сайта. Подключил флэшку. У меня нашлась гигабайтная. Далее всё интуитивно понятно. После завершения работы утилиты можно попробовать загрузиться с флэшки. Возможно, с первого раза не получиться. Перед загрузкой системы на экране появляется сообщение о том, на какую клавишу нужно успеть нажать, чтобы всё получилось. В моих случаях, это была клавиша F12.

Не обнаружив приложение GParted, я решил уточнить версию и имя дистрибутива. Кликнул по значку "Терминал среды MATE" на рабочем столе и набрал следующую команду:

cat /etc/*-release          
Результат можно посмотреть на скриншоте.

Для установки GParted напечатал следующую команду:
sudo apt-get install gparted          
После нажатия клавиши Enter команда была исполнена и в подменю "Система - Администрирование" появилась приложение GParted.

На случай, если компьютер останется без Интернета, можно сохранить установочный пакет gparted_0.11.0-2_i386.deb, который после установки не удаляется (до выключения компьютера) и храниться в виртуальном каталоге
/var/cache/apt/archives

Для копирования и навигации по каталогам удобно использовать программу Midnight Commander. Кликнув по значку на рабочем столе "Midnight Commander" можно запустить эту программу. C её помощью можно легко копировать файлы и перемещаться по файловой системе.

На скриншоте видно, какие каталоги открыты в левой и правой панелях. В левой панели открыт каталог /cdrom. Здесь смонтированы реальные каталоги флэшки. Я сохранил установочный пакет GParted в папку /install. В дальнейшем не обязательно скачивать GParted. Можно сделать установку программы из deb-пакета. Для этого нужно зайти в каталог /cdrom/install и набрать команду:
sudo dpkg -i gparted_0.11.0-2_i386.deb

В правой панели открыт каталог /mnt/disk. Здесь можно видеть список смонтированных разделов жесткого диска и внешнего USB диска (если он подключен). Вот и добрались до главного. В моём случае, жесткий диск компьютера разбит на четыре раздела, которые смонтированы в каталоги под именами sda1, sda2, sda3 и sda4. В каталоге с именем sdc1 смонтирован внешний жесткий диск. В этих каталогах можно увидеть папки и файлы, записанные на жесткий диск. Можно зайти и посмотреть, чтобы точно знать, где что хранится. Если нужно сделать образ первого раздела жесткого диска с именем sda1 на внешний USB диск, то нужно зайти в каталог /mnt/disk/sdc1 и набрать команду:

sudo cp /dev/sda1 имя_файла
Если нужен третий раздел, тогда:
sudo cp /dev/sda3 имя_файла
Желательно, чтобы "имя_файла" о чём-то говорило, что бы позднее ничего не перепутать. Нужно заметить, что после нажатия клавиши Enter никаких индикаторов не появится до окончания копирования и если раздел 16 ГБ, то может потребоваться более 10 минут. Это конечно не Acronis, но если размер не очень большой и есть время и место на диске, то принципиальной разницы нет. К тому же некоторым индикатором может быть размер файла на внешнем USB диске, проверяя который можно ориентироваться по времени.

Для восстановления сохранённого раздела, нужно зайти в каталог /mnt/disk/sdc1 и набрать команду:

sudo cp имя_файла /dev/sda1
Если нужен третий раздел, тогда:
sudo cp имя_файла /dev/sda3
После нажатия на клавишу Enter мы опять же никаких индикаторов не увидим. Но приблизительно через тот же промежуток времени раздел будет восстановлен.

Дистрибутивы Linux для "живых" флэшек распространяются в виде файлов с расширением iso. Для записи этих дистрибутивов на флэшку существуют чуть менее удобные, но более универсальные утилиты, которые знают и могут записать на флэшку внушительный список дистрибутивов. Например, Universal USB Installer. Если судить по списку дистрибутивов которые этот инсталлятор знает, то на такие флэшки есть спрос и они достаточно популярны.

Кодинг

Drag-n-drop для составления предложений

2016 год, 21 неделя (23 - 29 мая)

Заинтересовавшись одним из сервисов по обучению английскому языку, я обратил внимание на достаточно частое использование drag-n-drop в процессе обучения. Решил попробовать сделать свой тренажер с drag-n-drop для составления правильных английских предложений. Возможность двигать в браузере объекты с помощью мышки (drag-n-drop) была доступна давно. Чтобы уточнить насколько, зашёл на сайт моего старшего сына и даже сам удивился.

Оказалось, что с 2009 года. Таким образом, работающий прототип с пояснениями у меня появился сразу. Оставалось только кое-что добавить и заставить его работать в IE 6. Более старые версии этого браузера, на мой взгляд, большая редкость.

Прежде всего, необходимо сказать пару слов (возможно банальных) о программировании на JavaScript. Скорее всего, существуют более простые решения этой задачи. Моими мотиваторами были и остаются доступность, простота и результат. С поправкой на основное правило JavaScript-программирования, которое предупреждает о том, что страница, в которую встроен JavaScript-код, должна оставаться работоспособной, даже когда JavaScript выключен. Если вдруг кто забыл, как посмотреть JavaScript-код, напоминаю. Сохраните страницу с тренажером в отдельную папку. Файл называется ETrain4.js.

И ещё пару слов (возможно общеизвестных) об особенностях английского языка и тренажере. Гибкая система падежей русского языка позволяет легко менять порядок слов в предложении сохраняя его смысл. В английском языке нельзя просто так взять и переставить слова в предложении. В лучшем случае перестановка может полностью изменить смысл предложения. Эта особенность английского языка мне показалась очень подходящей для тренажера с использованием drag-n-drop. Тренажер для составления правильного английского предложения можно посмотреть здесь или через меню "English Training".

Интернет

Шифровать или не шифровать?

2015 год, 22 неделя (25 - 31 мая)

С началом этого года количество публикаций и сообщений о шифровании прочитанных мною из одних и тех же источников заметно увеличилось. Обмен информацией в цифровом виде, для абсолютного большинства пользователей, не оставляет никакой уверенности в приватности нашей цифровой частной жизни. И вроде бы единственное, что как-то могло нас обезопасить, это сохранение и передача данных в зашифрованном виде. Для защиты своих файлов, дисков и переписки уже давно существуют открытые, свободные и бесплатные утилиты, которые по определению исключают возможность получить доступ к нашим данным. И всё было бы замечательно, если бы не проприетарное программное обеспечение и ошибки. К сожалению, ошибки бывают везде. Даже закон Линуса, названный в честь создателя ядра Linux, как выяснилось в 2014 году, оказался несбыточной мечтой. И если ошибки в операционных системах рано или поздно находятся и их исправляют, то для проприетарных прикладных программ выбрано другое направление.

На этой неделе я прочитал пресс-релиз компании Embarcadero Technologies. В нём объявлено о выпуске решения Embarcadero AppAnalytics. Это первый сервис для разработчиков прикладного программного обеспечения, который позволяет улучшать создаваемые приложения, методом слежения за поведением анонимных пользователей в существующих мобильных и настольных приложениях. А также собирать достоверные сведения, которые могут использоваться в качестве руководства при разработке новых функций и пользовательских интерфейсов. "Сервис AppAnalytics можно встроить в существующие приложения на базе Windows, OS X, iOS, Android, а также в приложения для носимых устройств. Мониторинг осуществляется через облачный портал". К сожалению, в пресс-релизе ничего не было сказано о том, в каком виде информация об анонимных пользователях будет отправляться на облачный портал, а уже потом разработчикам. Ответ на этот вопрос я нашёл в другой публикации.

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

Hard/Soft

Если программа не запускается

2015 год, 17 неделя (20 - 26 апреля)

Забавный случай произошёл со мной на этой неделе. Связан он с желанием запустить файл ipscan24.exe на стареньком компьютере под Windows XP. Пробую запустить без установки, получаю ошибку [110]. Пытаюсь установить программу, получаю завершение с ошибкой 123.

Хотел поискать информацию по этим ошибкам на сайте http://support.radmin.com, но вовремя вспомнил старую проблему с инсталляторами, которые не могли найти путь к папке TEMP. В моём случае, полный путь к папке TEMP был таким:

C:\Documents and Settings\SU\Local Settings\Temp
Открываю эту папку и просматриваю список. Название папки Advanced IP Scanner 2 не оставляет никаких сомнений.

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

Hard/Soft

Подключение домашнего Интернета (PPPoE) в Raspbian

2014 год, 43 неделя (20 - 26 октября)

Как известно, существует несколько способов подключения к Интернету. Если дома есть свободный ethernet-разъём в роутере, то достаточно просто подключить Raspberry Pi к нему с помощью патч-корда витой пары. Если же роутера нет или есть такая необходимость, то существует и другой способ.

Многие операторы связи для предоставления услуги кабельного высокоскоростного доступа используют технологию FTTx (Fiber to the Building или Fiber to the Home). До здания или дома прокладывается оптоволоконный кабель, а внутри здания или квартиры к нему подключается обычный сетевой кабель. К этому кабелю можно подключить Raspberry Pi. Но при таком подключении, чтобы выйти в Интернет необходимо сделать некоторые настройки в операционной системе. В большинстве случаев нужно настроить PPPoE соединение, но может быть и другое. Уточнить информацию можно на сайте оператора связи в разделе "Помощь и поддержка" > "Домашний Интернет".

Многие считают, что по сравнению с Windows операционная система Linux позволяет сделать настройки подключения PPPoE значительно быстрее и проще с помощью консольной программы pppoeconf. В моём дистрибутиве Raspbian этой программы не оказалось, поэтому я подключился к Интернету через роутер и установил её командой:

sudo apt-get install pppoeconf
Убедился в работоспособности утилиты

и выключил Raspberry Pi.

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

sudo pppoeconf
После старта всё прошло очень просто и быстро. Программа в пошаговом режиме настроила соединение PPPoE. После этого веб-сервер Nginx начал отзываться на внешний IP адрес.

Больше всего мне понравился этап проверки сетевой карты и поиска концентратора доступа PPPoE. Сканер дивайсов позволяет выяснить причину возникновения проблем. Если Ethernet соединения нет, то проблема в Raspberry Pi. Если Ethernet соединения есть, но не проходят PPPoE пакеты, значит с Raspberry Pi всё в порядке, но что-то не нравиться оператору связи. Более подробную информацию можно смотреть в журналах dmesg и syslog.

На мой взгляд, такое соединение в домашних условиях можно использовать, если нет роутера и Интернет какое-то время простаивает. Если роутер есть, то проще и удобнее воспользоваться его Virtual Server.

Hard/Soft

Установка программ на Raspberry Pi

2014 год, 41 неделя (6 - 12 октября)

Для установки нескольких программ мне понадобилось некоторое время для поиска информации в Интернете. Чтобы не делать этого в следующий раз, я решился на этот пост. Хотелось бы заметить, что довольно быстро я отказался от подключения Raspberry Pi к монитору, клавиатуре и мышке и перешёл на удалённый доступ. Все установки были сделаны с помощью программы PuTTY для SSH, которая обеспечила мне удалённый доступ к консоли Raspberry Pi из Windows.

Обновление, установка и удаление программных пакетов в консольном режиме для множества дистрибутивов Linux (в том числе Raspbian), происходит с помощью менеджера пакетов APT (Advanced Package Tool). Перед началом установки на чистый дистрибутив в Интернете очень рекомендуют убедиться в том, что используются свежие версии пакетов программ. К примеру, до тех пор пока я этого не сделал, APT не находил программные пакеты для веб-сервера Nginx. Задача решается в два этапа. Сначала необходимо обновить список доступных программ, который можно скачать с помощью команды:

sudo apt-get update
Затем, для обновления пакетов программ выполнить команду:
sudo apt-get upgrade

После нескольких запусков PuTTY я заметил, что в терминальном режиме при переключении на русский язык вместо родных символов печатаются квадратики. Вроде бы и не очень нужно, но хотелось, чтобы всё было правильно. Предполагая отсутствие необходимых шрифтов, задал соответствующий вопрос Google и узнал какие шрифты нужно установить. Русские символы стали отображаться после исполнения команд:

sudo apt-get install jfbterm
sudo apt-get install uim-m17nlib

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

sudo apt-get install nginx
Запуск, командой:
sudo /etc/init.d/nginx start
или
sudo service nginx start
После запуска можно увидеть сообщение как на скриншоте:

Проверить работоспособности веб-сервера можно из любого браузера. Для этого достаточно напечатать в адресной строке IP адрес мини-компьютера Raspberry Pi и увидеть приглашение: Welcome to nginx!

Чтобы потренироваться в установке пакетов, можно установить файловый менеджер Midnight Commander:

sudo apt-get install mc

Если Midnight Commander покажется ненужным, его можно удалить:

sudo apt-get remove mc
Многие советуют сначала попробовать удаление с использованием ключа "-s", чтобы исключить любые неожиданности и убедиться, что всё работает нормально:
sudo apt-get remove -s mc
Этот же ключ позволяет имитировать установку, для того, чтобы выяснить насколько всё будет хорошо. А также узнать, какие пакеты будут устанавливаться.

Закрывая тему установки программ под Raspbian вполне логично (на мой взгляд) обратить внимание на команду обновления дистрибутива:

sudo apt-get dist-upgrade
С помощью этой команды можно сделать обновление ядра системы и её основных программ.

Hard/Soft

Заводим Raspberry Pi

2014 год, 31 неделя (28 июля - 3 августа)

С удивлением обнаружил, что с момента появления первых сообщений о возможности купить мини-компьютер Raspberry Pi не прошло и двух лет. Главным препятствием покупки чего-либо в Интернете для меня всегда были скорость доставки и форма оплаты. Край света или не край, но самолёты у нас летают, и некоторые компании успевают привозить товар меньше чем за неделю. Недавно увидел в доставке интернет-магазина Амперка постамат PickPoint, который показался мне настолько привлекательным, что я решился купить Raspberry Pi у Амперки. Мои ожидания были полностью оправданы. В четверг заказал, во вторник привезли. После столь удачной доставки я надеялся в тот же вечер увидеть логотип Raspberry на нашем домашнем мониторе. Но, к сожалению, торжественный запуск маленького чуда пришлось перенести на следующий вечер.

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

Все необходимые базовые настройки ОС Raspbian для начала работы собраны в специальной утилите raspi-config, которая при первом включение запускается сама. Разобраться в ней нетрудно, тем более, что в Интернете есть много статей с подробным описанием. Вернуться к настройкам можно в любой момент, введя в командной строке следующее:

   sudo raspi-config
Для первого раза, мне хватило первых четырёх пунктов. Итак, по порядку. Первый пункт - Expand Filesystem - позволяет развернуть корневую файловую систему на всю SD-карту. Практически все советуют это сделать. Для тех, кто знаком с основами информационной безопасности второй пункт - Change User Password - не покажется лишним. Третий пункт - Enable Boot to Desktop - позволяет включить загрузку рабочего стола. Здесь мнения расходятся. Я выбрал не включать. Наибольший интерес, на мой взгляд, представляет четвёртый пункт меню конфигуратора - Internationalisation Options - в котором настраивается локализация системы. Пропустить его невозможно. Без русского языка в Рунете ничего не сделаешь. Добавил к английской локали русскую (ru_RU.UTF8). Затем выбрал русскую раскладку клавиатуры и указал сочетание клавиш для переключения языков (например, ALt+Shift). От настройки дополнительных клавиш лучше отказаться, выбрав первый пункт в списке. В самом конце мастер настройки предложит использовать сочетание Ctrl+Alt+Backspace для завершения работы графического сервера. Здесь мнения также как и во втором пункте расходятся. Я решил оставить такую возможность.

После сохранения настроек мы загрузили рабочий стол. Попробовали выйти в Интернет. Так как в нашем случае было использовано проводное подключение к Сети, то Raspberry Pi должен был получил все настройки по DHCP от нашего домашнего роутера и быть готовым к просмотру страниц в Интернете. Открыв браузер Midori, мы смогли в этом убедиться. С переключением на родной язык никаких проблем не возникло. В целом можно признать, что восторженные отзывы о Raspberry Pi полностью соответствуют нашим впечатлениям.


Если вы заметили ошибки в тексте, пришлите message. I'm sorry.