вівторок, 10 березня 2009 р.

Ubuntu openoffice sdk

I've tried to make some program for Openoffice calc but there is problem with SDK for it.

As i has previous experience on this SDK on win - i've tried to find sdk for ubuntu on official site openoffice:

http://download.openoffice.org/3.0.0/sdk.html

downloaded it and unzipped
here i found ooobasis3.0-sdk-3.0.1-9366.i586.rpm
WTF? rpm in sh??
tried install it with alien but there was problems of 32 bit (64 bit)
i've spent some time googling it and finally found

http://lovehateubuntu.blogspot.com/2008/11/jruby-and-openoffice.html

with excellent (and very simple) suggestion:

The first thing you need to do is install the OpenOffice SDK. You can get it here, or if you're on Ubuntu you can install it like this:

sudo apt-get install openoffice.org-dev openoffice.org-dev-doc

The doc package is optional, however I find that documentation is a handy thing to have if you need it.


Damn! Why they didn't make link to this on OO site??
And there is really not much info on that in goodle :(

Hope this helps anybody!

вівторок, 11 березня 2008 р.

Проблемы Adobe Flex в Linux

Разбираясь с технологией Adobe Flex и являясь пользователем Ubuntu Linux я не мог не столкнутся с очень большой проблемой связанной с вводом текста в поля ввода. Из под ubuntu при вводе не английского текста получается вот такая ситуация:
Поискав решение проблемы ничего лучшего чем писать свой обработчик onKey (помоему так называется - пишу по памяти :) ) и обрабатывать такую ситуацию я не нашел. Решил написать письмо в Adobe ответа не последовало - так что будьте внимательны если у вас есть пользователи с linux ;)

субота, 29 грудня 2007 р.

З Новим Роком!

Кто первый найдет меня на флешке - пиво :)
http://www.elfyourself.com/?id=1846012118

понеділок, 10 грудня 2007 р.

ХНУРЭ - лабы :)


Вот так проходят лабы: высокомощный мэйнфрейм показывает поразительные результаты по производительности

субота, 8 грудня 2007 р.

Hibernate + MySQL = unicode

Проблема решается с помощью hibernate.cfg.xml:



property name="connection.url">jdbc:mysql://localhost:3306/teach?useUnicode=true&аmp;characterEncoding=UTF-8


Причем в идее не позволяет использовать & в строке соединения а &аmp; вполне заменяет его :)

PS в &аmp используется русская буква а для того чтоб предотвратить преобразование производимое движком блога


----------------
Now playing: Scientific Soul - Teus Olhos (Original Latin Session)
via FoxyTunes

вівторок, 27 листопада 2007 р.

JSR 225 XQuery API for Java

Этот JSR определяет АПИ для выполнения Xquery вызовов и для работы с результатами. XQJ представляет для Xquery тоже что и JDBC для SQL. АПИ XQJ имеет много общего с высокоуровневыми концепциями JDBC ( DataSource, Connection и др.) но также поддерживает специфические концепции Xquery — такие как статические и динамические фазы, XML-ориентированное получение данных и др.
Пример:
...
// establish a connection to the XQuery engine
XQConnection conn = xqds.getConnection();
// create an expression object that is later used
// to execute an XQuery expression
XQExpression expr = conn.createExpression();
// the XQuery expression to be executed
String es = "for $n in fn:doc('catalog.xml')//item " +
"return fn:data($n/name)";
// execute the XQuery expression
XQResultSequence result = expr.executeQuery(es);
// process the result (sequence) iteratively
while (result.next()) {
// retrieve the current item of the sequence as a String
String str = result.getAtomicValue();
System.out.println("Product name: " + str);
}
// free all resources allocated for the result
result.close();
// free all resources allocated for the expression
expr.close();
// free all resources allocated for the connection
conn.close();
...

субота, 24 листопада 2007 р.

JSR 166 Утилиты одновременного (конкурентного) доступа

Этот JSR первоначально был представлен для библиотек обеспечивающих конкурентный доступ в Джава 5 и также привел к изменениям в Джава 6. Для Джава 7, группа JSR 166 добавит новый вид BlockingQueue называемый TransferQueue и фреймворк для параллельных вычислений основанный на таких принципах: разделяй и властвуй(divide-and-conquer) и украдающий работу (work-stealing).
Work-stealing:
У каждого рабочего(Worker) есть свой стэк (очередь работающая по принципу LIFO) задачь. Как только он выполняет все свои задачи то он пытается «украсть» задачу из стэка другого рабочего рассматривая его очередь — т.е. получая его задачи по принципу FIFO.


Позволяет работу которая может быть выполнена параллельно выполнять на разных ядрах процессора.
Большие (32 и более) ядерные процессоры выйдут во время использования Java 7, существование этого фреймворка позволит людям выполнять приложения для получения относительного простого увеличения производительности для вычислительных задачь. Сейчас forkjoin лучше всего работает на машинах Sun Niagaras и Azuls. Вообще то, вы не получите значительного ускорения с менее чем 4 процессорами из-за — основным назначением является компьютеры с наличием от десяти до сотни процессоров
Пример вычисления чисел Фибоначчи:
Без усовершенствований — обычный код:
int seqFib(int n) {
if (n <= 1)
return n;
else
return seqFib(n-1) + seqFib(n-2);
}
Усовершенствованный код:
class Fib extends FJTask {
static final int sequentialThreshold = 13; // for tuning
volatile int number; // argument/result

Fib(int n) { number = n; }

int getAnswer() {
if (!isDone())
throw new IllegalStateException("Not yet computed");
return number;
}

public void run() {
int n = number;

if (n <= sequentialThreshold) // base case
number = seqFib(n);
else {
Fib f1 = new Fib(n - 1); // create subtasks
Fib f2 = new Fib(n - 2);

coInvoke(f1, f2); // fork then join both

number = f1.number + f2.number; // combine results
}
}

public static void main(String[ ] args) { // sample driver
try {
int groupSize = 2; // 2 worker threads
int num = 35; // compute fib(35)
FJTaskRunnerGroup group = new FJTaskRunnerGroup(groupSize);
Fib f = new Fib(num);
group.invoke(f);
int result = f.getAnswer();
System.out.println("Answer: " + result);
}
catch (InterruptedException ex) {} // die
}
}