База городов, улиц и индексов России

Многие разработчики приложений и сайтов часто сталкиваются с необходимостью получения списка городов, улиц и т.п. Так называемый КЛАДР — классификатор адресов Российской Федерации содержит всю необходимую информацию, включая почтовые индексы и доступен по адресу. Так как исходно он представлен в не самом удобном для обработки формате DBF, я с помощью Microsoft Excel извлек три самых нужных файла — с городами, улицами, сокращениями в формате текста с разделителями-табуляции в кодировке Windows-1251. КЛАДР в текстовом формате можно скачать по ссылке.

Если интересуют точные почтовые индексы, необходимо будет обрабатывать самой большой файл — со списками домов(DOMA.DBF).

Отмеченные проблемы:

— некоторые названия написаны без буквы Ё, например, город Королёв значится как Королев.

Автоматическое разрешение зависимостей в Ubuntu

При всем удобстве системы пакетов в Linux очень часто ей не хватает возможности при установке загружать зависимости пакета автоматически. Средство auto-apt позволяет разрешать зависимости автоматически по имеющейся базе данных зависимостей.
sudo apt-get install auto-apt
Для того, чтобы скачать файлы с данными о зависимостями необходимо выполнить следующую команду:
sudo auto-apt update

Далее необходимо обработать скачанную базу. Сразу скажу, что процессы скачивания и подготовки базы занимают очень много времени.
sudo auto-apt updatedb && sudo auto-apt update-local

Теперь при запуске конфигурирования сборки приложения можно пользоваться инструментом auto-apt и автоматически устанавливать дополнительные зависимости следующим образом:
sudo auto-apt run ./configure
Например, при конфигурирования pocketsphinx мы увидим следующий запрос на установку universe/utils/safe-rm:

Теперь достаточно нажимать Y вместо изнурительного поиска пакетов и повторного запуска ./configure.

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

Кроме того, существует утилита apt-file, которая позволяет по имени отсутствующего файла узнать имя пакета, который нужно доустановить.
sudo apt-get install apt-file
sudo apt-file update
apt-file search file missed.bin

В предыдущем листинге мы установили apt-file и запустили поиск пакета, который содержит файл missed.bin.

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

Вырезаем снежинки он-лайн

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

Поиск похожих сайтов

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

Например, вот какие сайты по мнению similarsitesearch.com похожи на 3dnews.ru.

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

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

Напоследок, поищем альтернативы Wired.com:

Moreofit вполне справляется с задачей.

Скачивание музыки из Вконтакте по альбомам — VKontakte Music Backuper

Vkontakte Music Backuper

Те, кому интересно конечное приложение для скачивания музыки из Вконтакте по альбомам, могут скачать его по ссылке. Для запуска требуется .Net Framework 3.5 — можно скачать с сайта Microsoft.com. Пользоваться очень просто — ввести электронную почту, пароль, авторизоваться. Если нужно, изменить ID пользователя для которого показан список аудио. Далее поставить галочки на альбомах, которые нужно скачать и нажать кнопку «скачать альбомы». Можно качать отдельные композиции. С теми же, кого интересуют буквы и реализация, продолжаем. Пользователи Linux и Mac Os могут воспользоваться приложением с помощью проекта Mono, в Ubuntu мне было достаточно выполнить полную установку Mono командой sudo apt-get install mono-complete. Далее можно запускать программу из консоли командой mono VkontakteMusicBackuper.exe либо обычным двойным кликом. Кроме того,можно воспользоваться сервисом Muzico.biz, чтобы слушать и скачивать и записи прямо с сайта.

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

Конечно же, ссылки на mp3-файлы доступны в исходном коде страницы. Кроме того, есть расширения в виде букмарклетов, такие как savefrom.net, которые отображают ссылку на скачивание прямо при воспроизведении музыки или видео. Существует очень удобное приложение для поиска и скачивания музыки из вконтакте под названием VKMusic. Хоть там и заявлена поддержка альбомов, те альбомы, что создает сам пользователь скачать нельзя.

Поэтому пишем свой велосипед. Знания о том на C# сделать скачивание файлов по http, парсить html  рано или поздно пригодятся. Правильнее было бы использовать Вконтакте API, но там все равно тоже нет возможности получения альбомов.

1. Авторизация

При авторизации пользователя в ответе возвращается ID пользователя, а так же remixsid — ключ, хранящийся в cookies браузера и передаваемый при последующих запросах к сайту. Повторяем авторизацию Вконтакте:

 public class VKUserInfo
  {
    public String SID { get; set; }
    public int UserID { get; set; }
  }

  public static class VKUtils
  {
    /// <summary> Авторизация к Vkontakte.ru с получением id и SID пользователя </summary>
    public static VKUserInfo LoginToVkontakte(String email, String password)
    {
      //создаем запрос
      HttpWebRequest wrGETURL = (HttpWebRequest)WebRequest.Create("http://vkontakte.ru/login.php?m=1&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;email=" + email + ";pass=" + password);

      //Запрещаем редирект
      wrGETURL.AllowAutoRedirect = false;
      //Выставляем таймаут
      wrGETURL.Timeout = 100000;

      //получаем весь ответ
      HttpWebResponse myHttpWebResponse = (HttpWebResponse)wrGETURL.GetResponse();

      //получаем Headers,пришедшие в ответе
      string headers = myHttpWebResponse.Headers.ToString();

      //записываем ответ в поток
      StreamReader myStreamReadermy = new StreamReader(myHttpWebResponse.GetResponseStream(), Encoding.GetEncoding(1251));
      //получаем строку с ответом
      string page = myStreamReadermy.ReadToEnd();

      //это регулярное выражение,которое выдирает из переменной headers(а ее мы получили выше) значение sid
      Regex sidregex = new Regex("sid=([a-z0-9]+); exp");
      Match ssid = sidregex.Match(headers);
      String sid = ssid.Groups[1].Value;

      //Получение ID пользователя
      int id = 0;
      String location = myHttpWebResponse.Headers["Location"];
      if ( (location != null ) &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; (location.Length>3))
      {
        location = location.Substring(3);
        Int32.TryParse(location, out id);
      }

      VKUserInfo info = new VKUserInfo(){ SID =  sid, UserID  = id};
      return info;
    }
}

2.Получение списка аудио-записей

Читать далее Скачивание музыки из Вконтакте по альбомам — VKontakte Music Backuper

2ГИС — бесплатный электронный справочник с картой города

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

Оказывается, есть бесплатное решение для просмотра карт в оффлайне по 80 городам России. Имя ему 2ГИС.

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

В сухом остатке 2ГИС  практически полностью выполняет основную работу TopPlan — поиск организаций и определение маршрутов общественного транспорта.

Разрешение одновременной работы пользователей в Windows 7 (Concurrent Sessions)

Как известно, в Windows , отличных от серверных не разрешаются параллельные сессии — если зайти на компьютер удаленно по RDP, активный пользователь увидит окно логина. Для решения этой проблемы можно использовать Universal Termsrv.dll Patch, процесс установки описан здесь

Патч проверен на личном опыте, все работает без нареканий.

Stellarium — смотрим на звезды

Обнаружилась потрясающая программа для изучения звездного неба. Stellarium — самый настоящий планетарий, распространяется бесплатно под все платформы. Самое приятное то, что просмотр ведется как бы с земной поверхности, а не просто в виде схемы, как во многих аналогах. Установив местоположение и время, можно в реальном времени наблюдать за движением звезд, планет, искусственных спутников и легко понять, что же мы видим на небе :-). Здесь можно найти иллюстрированный справочник по работе с программой.

PicPickTools

PickPick Tools — бесплатная утилита из разряда must have практически для любого человека что-то делающего на компьютере. Помимо удобного создания скриншотов  и некоторых возможностей последующего их редактирования, содержит множество инструментов, как то: линейка, пипетка, лупу, угломер…