суббота, 26 января 2013 г.

Тестирование fly-server (часть 1)

Привет.
Начиная с build 12693 сборки из "серой" ветки научились копировать полную медиа-информацию полученную с сервера. Пока идет загрузка тэга mediainfo->Inform для всех типов и каналов)
Технические детали обработки результатов с сервера:
http://code.google.com/p/flylinkdc/source/detail?r=12693
Спасибо всем, кто принимает участие в тестировании.
Кто не использует серый канал обновления - может загрузить версию тут
FlylinkDC-r502-x64-beta62-build-12695-2013.01.26-22.28.35.7z
FlylinkDC-r502-x86-beta62-build-12695-2013.01.26-22.23.49.7z
FlylinkDC-r502-src-beta62-build-12695-2013.01.26-22.25.28.7z



среда, 23 января 2013 г.

FlylinkDC++ r501 sp12.1

После публикации версии sp12 в авто-обновление локализованы и исправленные
две группы ошибок приводившие к падениям программы у 99 пользователей.
  • Ошибка открытия сокета при инициализации natpmp
  • Падение при получении лички под паролем. 
Спасибо за отсылку дампов на краш-сервер - вы помогаете программу сделать стабильнее.
Исправлены ошибки
 https://crash-server.com/Problem.aspx?ClientID=ppa&ProblemID=11461
 https://crash-server.com/Problem.aspx?ClientID=ppa&ProblemID=11460
 https://crash-server.com/Problem.aspx?ClientID=ppa&ProblemID=11555

В авто-обновление помещена исправленная версия версия
Инсталляторы

http://flylinkdc.googlecode.com/files/SetupFlylinkDC-x64-r501-build-12637.exe
http://flylinkdc.googlecode.com/files/SetupFlylinkDC-x86-r501-build-12637.exe
http://flylinkdc.googlecode.com/files/SetupFlylinkDC-x86-x64-r501-build-12637.exe 
Инсталляторы для сетей
http://flylinkdc.dyndns.org/install/last-build/r5xx/32bit
http://flylinkdc.dyndns.org/install/last-build/r5xx/64bit
mini-VIP
http://flylinkdc.dyndns.org/install/last-build/r501-sp12-mini-vip





вторник, 22 января 2013 г.

FlylinkDC++ r501 sp12

Инсталляторы
http://flylinkdc.googlecode.com/files/SetupFlylinkDC-x64-r501-build-12608.exe
http://flylinkdc.googlecode.com/files/SetupFlylinkDC-x86-r501-build-12608.exe
http://flylinkdc.googlecode.com/files/SetupFlylinkDC-x86-x64-r501-build-12608.exe
Портабельные версии и исходные коды на С++
32-битная версия
64-битная версия
Исходники 
Отладочная информация  
Версия r501-sp12 ушла в авто-обновление!
Если что-то заработает не так как раньше - прошу написать pavel.pimenov@gmail.com
* Добавлена визуальная подмена иконок с DVD и BR дисками
* Для битрейта рекурсивно вычисляем минимальное и максимальное значение
* Перевел хранения DHT в базу данных SQLite (файл FlylinkDC_dht.sqlite)
* Исправлены падения на больших смайл-паках
* Добавлено расширение для файла образов .cso http://en.wikipedia.org/wiki/.CSO и другие
* Обновлены
 - sqlite 3.7.15.2
 - Mediainfo
 - boost 1.52 

Важно!
После установки приложения с нуля оно попросит обновить мелкие файлы локализации 
не отказывайтесь от этого иначе возникает падение  
https://crash-server.com/Problem.aspx?ClientID=ppa&ProblemID=11461

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













понедельник, 21 января 2013 г.

Дизайн сайта

Hi all!
Мы начали плотно заниматься сайтом. Но мы же программисты... Так что нам нужен веб-дизайнер.

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

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

Свои варианты предлагайте в каментах.

четверг, 17 января 2013 г.

Оптимизируем загрузку GeoIP

Всем привет.
Пост для программистов! 
Возможно кто-то из вас в свободное время "копает" исходный код FlylinkDC++ в академических целях
и если вдруг вы заметили элементы говно-кода обязательно сообщите об этом!
Пример использования профайлера для поиска хот поинтов по нагрузке на CPU
Шаг 1   - под профайлером запускаем флайлинк и после завершения процесса студия показывает нам стек вызова "горячей" функции.














Шаг 2 - находим тормозной кусок в коде и , где выполняется заполнение массива стран и провайдеров через использование 
линейного поиска по std::vector. данный вызов выполняется ~180 тысяч раз
при этом в результирующем векрторе набирается всего ~2900 названий стран и провайдеров.

Шаг 3 - заводим дополнительную хэш таблицу std::unordered_map
через которую пробрасываем наши 180 тысяч записей. и после индексации всего массива чистим.









Шаг 4 - Сравниваем скорость загрузки GeoIP старой и новой версии:












суббота, 12 января 2013 г.

FlylinkDC++ r414 release

* Добавлена визуализация файлов планируемых для загрузки авто-апдейтом
* Исправлена ошибка восстановления источников из БД после перезапуска клиента.
* Обновлены:
 - sqlite 3.7.15.2
 - Mediainfo

Инсталляция
http://flylinkdc.googlecode.com/files/SetupFlylinkDC-x86-r414-build-12471.exe
http://flylinkdc.googlecode.com/files/SetupFlylinkDC-x64-r414-build-12471.exe
Портабельные сборки + исходники
FlylinkDC-r414-x64-build-12471-2013.01.12-14.22.21.7z 
FlylinkDC-r414-x86-build-12471-2013.01.12-14.17.18.7z
FlylinkDC-r414-src-build-12471-2013.01.12-14.18.32.7z
FlylinkDC-r414-debug-info-build-12471-2013.01.12-14.22.24.7z
mini-VIP 
Cборки для сетей
Появятся через 4-6 часов:
 

четверг, 10 января 2013 г.