Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт дек 14, 2017 14:18

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Блог программиста любителя
СообщениеДобавлено: Пт сен 02, 2016 01:32 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 205
Откуда: Москва
Благодарил (а): 24 раз.
Поблагодарили: 2 раз.
Здравствуйте! Я программист-любитель, пишу программы для себя.
То есть у меня нет проблем в том, что бы поддерживать пользователей,
соблюдения сроков и другой кухни проффессионалов.
Но нет и благотворной критики.
Решил завести небольшой блог, думаю для меня это будет большим стимулом
улучшать качество и опрятность своих работ, раз их придеться демонстрировать
другим людям.

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

_________________
Линукс решает, винда глотает.


Последний раз редактировалось vikt Пт авг 25, 2017 17:05, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Пт сен 09, 2016 02:34 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 205
Откуда: Москва
Благодарил (а): 24 раз.
Поблагодарили: 2 раз.
Коротко опишу основные программы, которые написал.
Если кого заинтересует, пришлю файлы, вместе с исходниками,
или выложу куда-нибудь, на sourceforge например.

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

Почемц j2me, а не андроид или айфон?
Дело в том, что я заядлый велосипедист, и в автономе бываю довольно часто.
Андроиды и разные GoPro, навигаторы, зеркалки и прочая лабуда
много весит, занимает место, жрет электричество в огромных
кол-вах. Для запитывания всей этой фигни. возят с собой
еще powerbank. Кто-то пытался использовать солнечные
батареи, но получается очень громоздко.
Все перечисленное может делать старый телефон. Похуже конечно.
Но к нему можно взять легкую запасную батарею, а от
повербанк его можно подзаряжать в течение года.
И еще, попробуйте набрать номер, одной рукой управляя
велосипедом, а другой елозя пальцем по стеклу.
На мой взгляд, здесь дауншифтинг полностью оправдан.
Вообще, туристические форумы переполнены тысячистраничными темами
про электропитание в походах.

Итак, фотопрограмма. После запуска, при нажатии на какую-нибудь клавишу
из правого ряда 3, 6, 9 делается фотография, а при нажатии на левый ряд
1 4 7 записывается 15 секунд звука. Звуковой файл имеет тоже название,
что и последний jpg файл, только расширение amr, Так что к какой картинке
относится конкретный звуковой коментарий, не перепутаешь.
Превью при этом не показывается, так что это еще и скрытая камера.
На самом деле это сделано не для того, чтобы шпионить, а чтоб
экономить энергию. Впрочем, если нажать на клавишу меню, превью появится,
и можно камеру аккуратно навести.
Все это сделано, чтобы было проще снимать, управляя велосипедом.
Во время поездки, у меня выходит по 150-200 фоток и звуковых
коментариев в день. В конце использования, программа пакует все файлы в
tar архив. Это во первых удобно, а во вторых сохраняет время создания
файла, что очень важно. При переброски через блютуз время создания
заменяется на время переброски, а в tar все сохраняется.
пример фоточки, велосипедисты одноколесники
Изображение
В андроид версии будет реализован язык сценариев, возможностей
програмировать камеру столько, что никаких меню не хватит.

Фотопрограмма - самая успешная моя разработка.
Ее у меня выпросили примерно десять человек, в основном туристы.

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

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

_________________
Линукс решает, винда глотает.


Последний раз редактировалось vikt Пт авг 25, 2017 17:09, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Вт сен 13, 2016 16:14 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 205
Откуда: Москва
Благодарил (а): 24 раз.
Поблагодарили: 2 раз.
Итак таблица. Поддерживает кнопочную клавиатуру и стилус.
Отличается от обычных таблиц

1) В ячейках мохно хранить тексты, содерхащие перенос,
а не просто строки.
2) В ячейкам можно хранить ссылки на другие таблицы, хранящиеся
в памяти телефона или в интернете. При нажатии на эту ячейку
загружается соответствущая таблица. Это очень удобно, можно
мгновенно построить простую информационную систеиу.
3) Формулы используют стековую нотацию, до обычной записи не дошли руки,
да и я являюсь единственным пользователем системы.
4) В ячейках можно размещать псевдоФорт скрипты.

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

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

Изображение
tel2.png


В табличным же представление, изменяя ширину столбцов, можно
скрыть малосущественную инфорацию

Изображение
Tel1.png

Это первое преимущества таблиц.

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

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

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

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

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

_________________
Линукс решает, винда глотает.


Последний раз редактировалось vikt Пт авг 25, 2017 17:13, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Пн окт 10, 2016 14:25 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 205
Откуда: Москва
Благодарил (а): 24 раз.
Поблагодарили: 2 раз.
Немного о форте, который я использую.
Основан на ретрофорт. http://forthworks.com/retro/
Но имеются очень серьезные отличия. Стек, как и в ретро - 32 битный,
но память для кода 16 битная. Это сделано для того, чтобы код типа
lit 1 lit 2
не занимал 16 байт, состоящих почти целиком из нулей

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

Код на ява, можно рассматрмвать как псевдокод

Стек - почти ничего не изменил из ретрофорт.
Код:
/* from retro forth
http://forthworks.com/retro/
*/
package  forth;

public class STACK {

public int [] stack = null;  //

public int sp;

public void push(int v) {stack[sp++] = v; }

public int pop()        {return stack[--sp];} // --sp
   
public int peek() { return stack[sp - 1];}  // неразрушающее чтение стэка
   
public int peek2() {   return stack[sp - 2];   }
   
public void drop(int i) {sp -= i;   }

public int getDepth() {   return sp; }
}   

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Пт авг 25, 2017 17:34 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 205
Откуда: Москва
Благодарил (а): 24 раз.
Поблагодарили: 2 раз.
Примерная реализация ФВМ. Будет уточняться.
Что делать дальше?

Код:
/* Part of the project take  from retro forth
http://forthworks.com/retro/
*/

package forth;   

public class FVM {

        public  int IMAGE_SIZE=1024;  // Размер памяти по умолчанию

   private int sp = 0, rsp = 0, ip = 0; // указатели стека, стека возвратов и адрес команды
   
        public STACK stack,adrStack;    //стеки 

        public short  [] image;  // 16 битная память

        public int [] ports;  // порты ввода вывода
   

   public static final int
    VM_NOP = 0 ,
    VM_LIT = 1 ,  // положить 16 битное значение на стек
    VM_DUP = 2 ,     VM_DROP = 3 ,   VM_SWAP = 4 ,
    VM_PUSH = 5 ,    VM_POP = 6 , 
    VM_CALL = 7 ,    VM_JUMP = 8 ,    VM_RETURN = 9 ,   
    VM_GT_JUMP = 10 ,VM_LT_JUMP = 11 , VM_NE_JUMP = 12 ,   VM_EQ_JUMP = 13 ,  //  >  <  !=  =
    VM_FETCH = 14 ,  VM_STORE = 15 ,  // @  !
    VM_ADD = 16 ,    VM_SUB = 17 ,    VM_MUL = 18 ,   VM_DIVMOD = 19 , // + - *  /   
    VM_AND = 20 , VM_OR = 21 , VM_XOR = 22 ,

    VM_SHL = 23 ,    VM_SHR = 24 ,    VM_ZERO_EXIT = 25 ,
     VM_INC = 26 ,   VM_DEC = 27 , 
     VM_IN = 28 ,   VM_OUT = 29 ,  VM_WAIT = 30, // записсь чтение портов , ожидание
     
     VM_LIT32 = 31. // положить 32 битное значение на стек
     ;

   private void handleDevices() {  // от ретро, // вызывается командой wait
        //зависит от реализации
   }

        private void callService(int x, int y) { вызывается во время записи в порт (out)
        // зависит от реализации
        }


   /**     * Process a single opcode*/   
   private void process() {

  int x, y, z,tmp,  op;
  op = image[ip]; 
        switch(op) {

    case VM_NOP:
      break;
    case VM_LIT:    ip++;stack.push(image[ip]); // положить 16 битное значение на стек
      break;
    case VM_DUP:    tmp=stack.pop(); stack.push(tmp);stack.push(tmp);
      break;
    case VM_DROP:   stack.drop(1);
      break;
    case VM_SWAP:   x = stack.pop(); y= stack.pop(); stack.push(x);stack.push(y);
      break;
    case VM_PUSH:   x = stack.pop();  adrStack.push(x); // со стека данных на адресный стек
      break;
    case VM_POP:    x = adrStack.pop(); stack.push(x); // обратно
      break;


    case VM_CALL:   ip++; adrStack.push(ip); ip=image[ip]-1;
      break;
    case VM_JUMP:   ip++;    ip = image[ip]-1; 
      break;
    case VM_RETURN:
      ip = adrStack.pop();
      break;
    case VM_GT_JUMP:  ip++;    // 
      x = stack.pop(); y= stack.pop(); if (y>x) ip = image[ip] - 1;
      break;
    case VM_LT_JUMP:   ip++;
       x = stack.pop(); y= stack.pop(); if (y<x) ip = image[ip] - 1;
      break;
    case VM_NE_JUMP:  ip++;
      x = stack.pop(); y= stack.pop(); if (y!=x) ip = image[ip] - 1;  // переход если не равно
      break;
    case VM_EQ_JUMP:   ip++;
       x = stack.pop(); y= stack.pop(); if (y==x) ip = image[ip] - 1; // переход если  равно
      break;
     
     
    case VM_FETCH: /// @
      tmp=stack.pop();                        // со стека снимается адрес
      x=image[tmp]; tmp++; y=image[tmp];      // с этого адреса снимаются две соседние
      stack.push(x << 16  | y & 0xffff  );   // 16битные ячейки и с помощью сдвига и AND
      break;               // объединяются в 32 битное значение и кладутся на стек


    case VM_STORE:  //     //  обратная операция 32 битное знач. разлагается
     x = stack.pop(); y= stack.pop(); // на два 16 битных с помощью сдвигов   
     short a=(short)y ,  b = (short) (y >> 16);
     image[x]=b; x++ ;  image[x]=a;
      break;

    case VM_ADD:    x = stack.pop(); y= stack.pop();stack.push(y+x);
      break;
    case VM_SUB:    x = stack.pop(); y= stack.pop();stack.push(y-x);
      break;
    case VM_MUL:    x = stack.pop(); y= stack.pop();stack.push(y*x);/
      break;
    case VM_DIVMOD:    //my relize div 0
      x = stack.pop(); y= stack.pop();     
       stack.push(y % x);  stack.push(y/x); // на стеке остаток и целое
      break;     // иожно добавить проверку /0 если не отлавливаются исключения
    case VM_AND:     x = stack.pop(); y= stack.pop();stack.push(x & y);
      break;
    case VM_OR:      x = stack.pop(); y= stack.pop();stack.push(x | y);
      break;
    case VM_XOR:   x = stack.pop(); y= stack.pop();stack.push(x ^ y);
      break;
    case VM_SHL:    x = stack.pop(); y= stack.pop();stack.push(  y << x );  // сдвиг битов влево
      break;   
    case VM_SHR:   x = stack.pop(); y= stack.pop();stack.push( y >>= x );   //  вправо 
      break;
    case VM_ZERO_EXIT:    // выход из подпрограммы, если на стеке 0
      if (stack.peek() == 0)
      {
        stack.drop(1);
        ip = adrStack.pop();
      }
      break;
    case VM_INC:   x = stack.pop(); x++; stack.push(x); 
     break;
    case VM_DEC:   x = stack.pop(); x--; stack.push(x);
     break;

   case VM_IN:          // чтение порта
      x = stack.pop();
      y = ports[x];
      stack.push(y);
      ports[x] = 0;
      break;
    case VM_OUT:   // вершина номер порта
      x=stack.pop();
      y=stack.pop();
      ports[x]=y;//
      callService(x,y);  //вызов внешней функции
      break;
    case VM_WAIT:   handleDevices(); // наследство от  ретро
      break;

    case VM_LIT32:  // положить 32 битное значение
      ip++; x=image[ip]; ip++; y=image[ip];  stack.push( x << 16  | y & 0xffff );
      break; //2 16 битные ячейки объединяются в 32 битную с помощью сдвигов

  }
}


  boolean _HALT =  false;   //Переменной Halt присваиваются значение во время выполнения
                                //callService, при исполнении инструкции out

  public void processImage( int startIP ) {
  ip=startIP;
  boolean _HALT=false;
  while  (ip<IMAGE_SIZE  && ! _HALT) {
       process();   
       ip++;} 
  } //void





_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Пт авг 25, 2017 17:57 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 399
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Насчёт таблиц.
Как дела с SQL?

_________________
Цель: написать форт-систему
Подцель: pe-формат, отладка, инициализация, словарь


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Пт авг 25, 2017 21:00 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 205
Откуда: Москва
Благодарил (а): 24 раз.
Поблагодарили: 2 раз.
Victor__v писал(а):

Как дела с SQL?

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

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Пт авг 25, 2017 22:26 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 399
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Бродит в моей голове последний месяц мыслишка сделать что-то среднее между екселем и аксесом.
Пока остановился на выборе графической либы

_________________
Цель: написать форт-систему
Подцель: pe-формат, отладка, инициализация, словарь


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Сб авг 26, 2017 13:10 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 205
Откуда: Москва
Благодарил (а): 24 раз.
Поблагодарили: 2 раз.
Victor__v писал(а):
сделать что-то среднее между екселем и аксесом.

А зачем аксес? Почему не sql?
Кстати в андроид апи уже есть sql
http://developer.alexanderklimov.ru/android/sqlite/

Подмножество sql на форте было бы полезно. Мелкие базы
данных самопальная sql точно потянет.

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Ср окт 25, 2017 02:18 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 205
Откуда: Москва
Благодарил (а): 24 раз.
Поблагодарили: 2 раз.
В принципе реализация стека и виртуальной машины достаточно для реализации
форт системы. Достаточно сформировать массив с образом виртуальной
памяти, и определить действия, которые будут выполняться при операциях с портами.
Но это мало интересно. Вероятнее всего следующим делом надо реализовать
построение словарной статьи. Так во всяком случае кажется, после прочтения статей,
любезно выложенных gudleifr
Но не нашел в компактном виде описания списка процедур, функций, переменных,
которые зависят от структур данных статьи или которые записывают эти структуры.

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Ср окт 25, 2017 02:41 
Не в сети

Зарегистрирован: Пн авг 28, 2017 19:11
Сообщения: 3
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Добрый день!
Интересует фотографическая программа для j2me.
У меня есть простая фотографическая программа для android с исходными текстами.
http://lingerman.ucoz.net/uploads/camSnap2_2.7z

С удовольствием буду отвечать на вопросы по программе и по исходным текстам, если кого-то
заинтересует.
Правда форум http://fforum.winglion.ru/ почему то блокирован в нашей деревне
Роскомнадзором, приходится выходить через тор, который тоже работает не стабильно.
Наверно какой-нибудь террористический сайт вертится на том же хостинге, что
и форум.
И да! Поддерживаю идею написать простую реализацию языка программирования.



За это сообщение автора longer поблагодарил: vikt
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Чт окт 26, 2017 22:05 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 205
Откуда: Москва
Благодарил (а): 24 раз.
Поблагодарили: 2 раз.
Здравствуйте! Спасибо за программу. Установилась и работает.
Исходный код скомпилировать не удалось, пока я в программировании
андроида новичок. С фотопрограммой для j2me у меня образовался
бардак, разные телефоны используют разные encoding,
у меня разные исходные тексты для nokia и sonyerrikson.
Я ведь не думал, что буду публиковать. В телефонах
установлены уже скомпилированные версии. Наведение порядка
займет некоторое время. Но если нужно, то конечно выложу весь
бардак. Еще могу выложить код модуля, который непосредственно
осуществляет съемку он вполне отлажен.

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Вт окт 31, 2017 12:33 
Не в сети

Зарегистрирован: Пн авг 28, 2017 19:11
Сообщения: 3
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
vikt писал(а):
Исходный код скомпилировать не удалось,


Компилировал программу в AIDE
http://www.android-ide.com/
AIDE устанавливается на андроид, на него копируются исходные тексты
и компилируются.
Тут наверно будет проще так. В AIDe создается новый проект.
В каталог, в котором находится MainActivity.java копируются
файлы из моего проекта. В этих файлах в строке
package com.mycompany,,,
заменяется на
package <путь проекта>;
также заменяется
import <этот package>;
Ничего сложного. Просто в AIDE кажется все работает по другому,
чем в эклипс.
Еще важно. В папке res/layout заменить файлы main.xml на мои файлы,
которые находятся в соответствующей директории.

Программу написал на основе кода
http://startandroid.ru/ru/uroki/vse-uroki-spiskom/266-urok-133-kamera-delaem-snimok-i-pishem-video.html
и официального api. Там много полезной информации.



За это сообщение автора longer поблагодарил: vikt
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Сб ноя 04, 2017 15:15 
Не в сети
Аватара пользователя

Зарегистрирован: Вт авг 12, 2008 03:18
Сообщения: 205
Откуда: Москва
Благодарил (а): 24 раз.
Поблагодарили: 2 раз.
Спасибо. Скомпилировал. Попробую присобачить телефон на руль велосипеда и
использовать как go-pro.

Понемногу начинаю выкладывать свою.
Пока только класс, реализующий фотографирование, для ознакомления.
http://vikt-beliak.narod.ru/save/myphoto.java

Дело в том, что на нокии C3 не гаснет дисплей и соответственно жрет
батарейки. В процессе решения проблемы, очень сильно испортил код,
он практически не читаем. Сейчас упорно исправляю.

Кроме того, хочу попробывать AMMS API для более тонкой работы с камерой
http://developer.samsung.com/java/technical-docs/Advanced-Mutlimedia-Supplements-JSR-234

По использованию модуля, могу отвечать здесь, или по
почте
vikt-beliak@yandex.ru

_________________
Линукс решает, винда глотает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Блог программиста любителя
СообщениеДобавлено: Вс ноя 05, 2017 01:03 
Не в сети

Зарегистрирован: Пн авг 28, 2017 19:11
Сообщения: 3
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
vikt писал(а):
Спасибо. Скомпилировал. Попробую присобачить телефон на руль велосипеда и
использовать как go-pro.

По использованию модуля, могу отвечать здесь, или по
почте
vikt-beliak@yandex.ru


Я ее практически так и использую. Выехать на пляж, нафотографировать девушек.
Собачу на руль так
https://toogeza.com/2013/07/29/6197
только не затягивать сильно, что бы можно было переставить вот так
Изображение

моя почта
longerm9@gmail.com


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB