Открываю ветку для обсуждения разработки программы cardinfo, начатой по появлении ветки http://n8xx.com/subject-1414-chyornyj-b … -card.html 
Просьба выкладывать туда выдаваемую информацию о Ваших картах вместе с точным и полным наименованием, включая тип, модель, объём и скорость (напр. A-Data Turbo 8Gb Class 6 MiniSD).
Кроме того, у кого есть возможность посмотреть все доступные (хоть на время) карты в Palm или других девайсах, дающих инфу о карте, тоже просьба выкладывать.
Статистика нужна для более точной идентификации.
План работ по программе:
1) На данный момент это шелл-скрипт с простым GUI на zenity, упакован PyPackager, запускается из меню.
Основная цель текущей версии - набор статистики по производителям.
2) Разрабатывается функция замера скорости и информация о файловой системе.
3) dik ведёт работу по сайту cardinfo.info с базой данных, куда программа будет отправлять статистику.
4) Когда статистика будет достаточно большой, программа будет определять производителя и OEM-изготовителя, и Вы сможете при покупке сравнивать с надписью на карточке. А также в комплексе с замеренной скоростью чтения и записи, программа сможет давать оценку. А находясь в онлайне, сможет вывести отзывы о надёжности, имеющиеся в БД.
5) По мере возможности предполагаю освоение питона. Язык скрипта позволяет многое, но в извращённой форме.
А может быть, доберусь до Maemo SDK (C и C++ еще смогу вспомнить).
cardinfo и zenity лежат в репозитории n8xx (deb http://n8xx.com/debs
chinook free).
Инсталл-файл для cardinfo:

Всю важную информацию буду добавлять в это первое сообщение.
UPD 17.09.2008:
В аплоад (http://n8xx.com/uploads.php
) выложена версия 3.2, с бенчмарком. После испытания будет обновлена в местном репозитории. Дальнейшее развитие, скорее всего, будет прекращено, по причине отсутствия интереса.
UPD 17.09.2008:
Скорость карты замеряет долго, потому что:
1) пишет большие файлы. в этом вся суть. на маленьких файлах срабатывает кэш.
2) результаты замеров сильно скачут, поэтому замеров не менее 20/30, пока усреднённая скорость не перестанет скакать, или до заполнения диска.
Как бонус - программа diskspeed, которая замеряет скорость USB-диска. Он монтируется как /media/usb/sda1.
UPD 18.09.2008:
Почему не используются hdparm -t или пара имеющихся для таблетки программ замера?
Они часто завышают результат, потому что срабатывает кэш. И вообще не очень соответствуют реальности, т.к. это синтетические тесты. А я замеряю реальные условия - массовая запись файлов с размерами, соответствующими 10-12 MPix jpeg в цифровых фотоаппаратах. Условия близкие к тем, под которые разрабатывался стандарт SDHC.
hdparm -t к тому же read only.
UPD 19.09.2008:
Для максимально точного замера скорости:
1) проверить карточки на ошибки файловой системы (chkdsk, fsck)
2) закрыть все программы, в том числе фоновые, производящие операции время от времени: мейлер, pidgin, ...
3) убедиться, что omweather не начнёт обновляться ближайшее время (можно обновить искусственно)
Следите, чтобы во время замера не отключался экран, т.к. при этом интерфейс MMC также переводится в экономичный режим.
Отредактированно Dali (19-09-2008 05:28:47)
Неактивен
2 dik:
GET-запрос предлагаю такой (кавычки я поставил, чтобы не писать %20)
/cardinfo.php?manfid=28&oemid=5356&name=SDC&rev=10&date="02/2008"&serial=0002466d&maemo=RX-34_2008SE_2.2007.50-2&description="Transcend SDHC 8Gb"&holder=dik&score=5&comment="Working"
т.е. в порядке от общего к частному.
card и palm уберём (и из БД тоже), hwrev и fwrev объединим (в них по 1 символу).
Версия прошивки таблетки (которое включает модель таблетки, если не ошибаюсь) нужна, карты по-разному работают при разной частоте проца, и возможно с разными прошивками (ядром, патчем SDHC и т.д.)
Соответственно названия и порядок полей БД предлагаю сделать так же (с добавлением holder, score, comment, added).
Поле added достаточно 2008-06-23, без времени.
Для поля score удобнее использовать (в проге или форме ввода) выпадающий список с вариантами. Их текст надо продумать. Качество в цифры люди неверно переводят, часто бросаются в крайности.
А вывод конечной информации можно будет делать как угодно.
Ключевое поле, используемое для контроля дублей - строка manfid+oemid+serial+maemo (т.е. надо принимать новый замер после смены прошивки, или замер той же карты на другой модели таблетки).
manfid, я думаю, надо вернуть к оригиналу, шестнадцатиричному виду.
Все поля получатся символьными. Хоть большинство из них числовые, думаю, не стоит париться с преобразованием hex-->dec и обратно.
Неактивен

card думаю стоит оставить - оно говорит о том в каком слоте используется карта (Надо будет учесть что внутренняя карта n810 - несьёмная)
для времени - тоже думаю лучше пусть пишется / при выводе можно убрать и выводить только дату...
> hwrev и fwrev объединим (в них по 1 символу).
как будет называться ? / rev - понял...
На данный момент структура значит такая ?
Структура таблицы с картами :
id (порядковый номер, инкриментно генериться )
card
manfid
oemid
name
rev
date
serial
maemo
description
holder
score
comment
added (по времени сервера при поступлении запроса)
И первым в запрос думаю стоит добавить ?action=add&
Карты думаю будут добавляться по одной ? не две сразу ? возможно будет на каждую сделать отдельную форму отправки ?
Запрос :
action=add (добавление карты)
card
manfid
oemid
name
rev
date
serial
maemo
description
holder
score
comment
Правки - добавил card
Отредактированно dik (23-06-2008 06:32:54)
Неактивен

Срок работы карты в машинке - нам нужен ? (значения получаемые от пользователя )
Неактивен

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

id int(11)
card int(1)
manfid varchar(50)
oemid varchar(50)
name varchar(200)
rev int(2)
date varchar(6)
serial varchar(50)
maemo varchar(200)
description varchar(200)
holder varchar(200)
score int(2)
comment varchar(500)
added datetime
структура базы на данный момент / переделано
Неактивен

http://cardinfo.info/?action=add&card=0&manfid=28&oemid=5356&name=SDC&rev=10&date=02/2008&serial=0002466d&maemo=RX-34_2008SE_2.2007.50-2&description=Transcend SDHC 8Gb&holder=dik&score=5&comment=Working
Пример работающего запроса.
Неактивен

Думаю что производителя и обьём карты стоит также пускать в отдельные поля для поиска по ним в дальнейшем и сортировки.
Причём : у нас по идее есть те данные, которые видит юзер - то есть то что написано на карте / и те что получает программа. Они могут соответственно не совпадать.
Неактивен

Для проверки карты например : ?action=check
надо определиться по каким параметрам искать похожие...
Неактивен
Если речь идет о разработке, так может это все где-нибудь захостить? svn, git?
Я могу поучаствовать в переписывании на Питоне.
Неактивен

сделал subversion на сайте - пароли те же что и на dav/n8xx
http://cardinfo.info/32323232/ 
к стыду своему признаюсь - что c svn - только скачивал. Можете посоветовать какой то клиент ?
Неактивен
Отлично. Я закину туда рыбу скоро.
Клиент для какой OS?
Неактивен

linux. Для начала хотелось бы что то с гуем - так как вообще понятия нет.
сайты с svn апгрейдил. И ничего более сложного... Или проще изучать с командной строки всё таки ?
Неактивен
С гуем не знаю. А зачем в линухе svn с гуем ?
Конечно проще. Клиент так и называется - svn. Будут вопросы - задавайте. Там в общем-то пара-тройка команд.
PS: Я закомитил рыбу и пакетирование. Пакет собирается, но ставить я не пробовал.
Неактивен
dik - ваш web код можете тоже в svn положить, в отдельную директорию.
Неактивен

вот я как раз хотел спросить - куда. положу в site]
в самый корень или ?
Неактивен
В trunk. Стандартный svn layout включает trunk - это обычно основная ветка разработки, tags - это тэги(снапшоты, срезы) обычно транка, часто соответствуют версиям софта. branches - это ветки, отбранченые от транка. Я пока сделал trunk и tags, до бранчей пока далеко ![]()
Неактивен
Икону кто-нибудь может нарисовать или найти? нужно бы в меню сделать и чтобы в диспетчере приложений она показывалась.
Неактивен
На Питоне перерисовать или потом?
Неактивен

Сначала ошибочно закинул в корень trunk - теперь поправил / в trunk/site
документация к svn и на русском есть http://svnbook.red-bean.com/nightly/ru/svn-book.html
в общем, как оказывается, не так страшен svn как себе малюешь...
Неактивен
Вот пакет, полученый из trunk: http://n8xx.com/uploads.php?file=cardinfo_0.0.3_all.deb 
Неактивен

icon :
http://commons.wikimedia.org/wiki/Image … d_icon.svg
?
Wall : а зачем на python ? Dali тестирует связку shell+zenity. Мне это тоже интересно. И другим, кто пишет на bash/ash может оказаться очень полезно.
И как раз покажет - как можно создавать приложения относительно просто - без scratchbox.
А если вы перепишите на python - нам останется стоять разинув руки и смотреть как вы пишите...
Были бы вам благодарны если вы пробьёте zenity в extras.
Попинайте лучше мой код по сайту - там чисто python
Только лучше приватно... В ЛС или мылом. То что есть сейчас - будет кардинально переделываться.
Неактивен
dik говорит:
в общем, как оказывается, не так страшен svn как себе малюешь...
Правило номер один - всегда пишите commit messages.
Гляньте на наш svn log:
------------------------------------------------------------------------
r7 | dik | 2008-06-23 23:35:12 +0300 (Mon, 23 Jun 2008) | 1 line
------------------------------------------------------------------------
r6 | dik | 2008-06-23 23:34:37 +0300 (Mon, 23 Jun 2008) | 1 line
------------------------------------------------------------------------
r5 | dik | 2008-06-23 23:34:02 +0300 (Mon, 23 Jun 2008) | 1 line
------------------------------------------------------------------------
r4 | dik | 2008-06-23 23:33:36 +0300 (Mon, 23 Jun 2008) | 1 line
------------------------------------------------------------------------
r3 | dik | 2008-06-23 23:31:22 +0300 (Mon, 23 Jun 2008) | 1 line
Initial import
------------------------------------------------------------------------
r2 | dik | 2008-06-23 23:23:33 +0300 (Mon, 23 Jun 2008) | 1 line
Initial import
------------------------------------------------------------------------
r1 | wall | 2008-06-23 21:23:45 +0300 (Mon, 23 Jun 2008) | 1 line
created project structure and debianization
------------------------------------------------------------------------
Неактивен

понял / удалял то что закинул случайно в trunk
А вот если можно - обьясните плиз в двух словах - если я обычно правлю код непосредственно на сайте - тут же смотрю изменения.
Как поступать в случае наличия svn. Править, заливать на svn и затем делать svn co на сайт и тестировать ?
либо тестировать на каком либо тестовом сайте а затем проверенные изменения скоммитить в svn ?
Неактивен
dik говорит:
icon :
http://commons.wikimedia.org/wiki/Image … d_icon.svg?
Спасибо. Как у этого изображения с лицензией? не заругают потом за использование?
Wall : а зачем на python ?
Ну в планах это было, вот я и спросил. См. первое сообщение в этой теме.
Dali тестирует связку shell+zenity. Мне это тоже интересно. И другим, кто пишет на bash/ash может оказаться очень полезно.
И как раз покажет - как можно создавать приложения относительно просто - без scratchbox.
Хех, ну ладно, боритесь тогда. Программирование UI на шеле - это мазохизм, IMHO. Но охота пуще неволи ![]()
Попинайте лучше мой код по сайту - там чисто python
Только лучше приватно... В ЛС или мылом. То что есть сейчас - будет кардинально переделываться.
OK, как нибудь попинаю.
Неактивен