SS7 blog

Горна Диканя hi-tech

Избягал котарак, който си е намерил нова къща. За малко да го прибера и него, ама е голям и сигурно ще избяга отново.

Знаех, е по някакъв начин google има приблизителните координати на повечето ГСМ клетки , но до днес нямах идея как и от къде имат такава информация.

Отговора е супер елементарен – ние самите (по точно тия със сматфоните) му ги изпращаме.

Всичко започна от това, че като цъкнах тоя адрес :

http://test-geolocation.appspot.com/

гугъла изплю МАК адреса на домашното ми AP . Освен това google latitude на нокията изпращаше приблизително точни координати дори без да използва GPS-a . Разбира се бях я закачил безжично към АП-то.

Та начина е следния :

Смарфон се закача към wifi AP , прочита координатите от GPS-a и ако има инсталирано latitude, изпраща МАК адреса и координатите на гугъл. А гугъла помни, и никога не забравя.  По същия начин се процедира и с GSM клетките , всяка клетка си има уникален идентификатор. И latitude изпращатоя идентификатор + координатите от GPS-a на гугъл. И той помни…. коя клетка къде се намира.

Процеса е сравнително бавен, но пък за сметка на това – сигурен. Гугъл събира огромна база с координатите на всички wifi AP и по-важното – на всички GSM клетки.

В близко бъдеще няма нужда да имате GPS ,  само някакво гугъл приложение (подозирам че дори gmail е достатъчно) и гугъл вече ще знае къде сте с доста голяма точност.

Да не говорим, че всеки , който не ви мисли доброто е достатъчно да инсталира едно приложение на сматфона ви и да не се хаби да ви наблюдава постоянно.

Данни за изминалите 12 месеца :

Изминати километри :  30 540 км.

Гориво : 4260 лв (2208 л.)

Цена на километър : 17 ст.

Общо разходи : 5131 лв

Амортизацията не е включена. Месечни разходи :  427 лв.

Друго интересно свързано с автомобила . Разстоянието Захарна фабрика – Младост 2 в пикови часове ми отнема един час , а Захарна фабрика – Дупница – час и половина . Когато пуснат магистрала Люлин , до Дупница ще ми отнема по-малко време, отколкото до Младост 2 !!! . Затова съм решил да си купя къща в Старо село – на средата между София и Дупница.

Slack не се поддържа. Ще го лъжем….

Да инсталирам Вин версията е под достойнството ми , дори само за разучаване. Пък и смятам да прехвърля WP от MySQL на Oracle.

Засега :

root@web2:/opt#
root@web2:/opt# rpm2tgz or.rpm

root@web2:/opt# w
04:23:58 up 40 days,  3:33,  2 users,  load average: 1.75, 1.26, 0.60
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/2    78.40.140.9      04:12    3:49   1:08   0.00s /bin/sh /usr/bin/rpm2tgz or.rpm
root     pts/3    78.40.140.9      04:16    0.00s 18.61s  0.00s w
root@web2:/opt#

Малко поумряхме…

root@web2:/opt# pkgtool

И готово. Сега да видим дали ще потегли.

Настъпих няколко мотики… като например, че oracle не може/не трябва да се стартира с root потребител.

В райна сметка :

http://dupnica.net:8080

обаче /apex липсва , хм..  Ще го търся утре, тъкмо и ще допиша инсталацията.

Снимките са от неуспешен опит за покоряване на яз.Калин – 2400м. височина. До него има път, строен още от германците – бетонен и все още в сравнително добро състояние.

В началото.

Някъде към 1700 м височина.

Около 2000 метра височина – рекичката от язовира.

continue reading…

Java EE 6

2 comments

Тъй като преди няколко дена разтегнах мускул и не мога да правя нищо друго , освен да лежа, взех та поразгледах до къде е стигнала Java-та.   Ами – до много напред :) , tomcat-a вече е старо нещо. Вече има апликейшън сървъри като например GlassFish.

А най-хубавото за мен е края на писането на HTML в Java (както при сървлетите). Java EE 6 предлага т.нар JSF(java server faces)  и Java facelets.

И тъй като само с четене не става, реших да го видя на живо. Инсталирах рибата тук :

http://ss7.dupnica.net:8888

Чудото има много по-добра web администрация в сравнение с котака , тя е стандартно на  порт 4848 :

http://ss7.dupnica.net:4848

Сега вече разбирам защо се нарича Java EE (ентърпрайз едишън) , ами щото иска ентърпрайз машини :) . Любителския ми хардуер почти умря. И има зор при инсталация без X сървър , трябва да се свали *.zip архива, другия не става.

Както писах, за мен най-голямото предимство е чистото разделяне на логиката от интерфейса , т.е. java кода от HTML кода при JSF.

Деплойнах набързо една тестова програмка :

http://ss7.dupnica.net:8888/jsfDemo

А ето и извадки от кода : (Баси как да направя тоя боклук WP да показва html код?)

На html-a (UI) :

И на същинската част (логиката) :


public String getResponse() {
if ((userNumber != null) && (userNumber.compareTo(randomInt) == 0)) {

//invalidate user session
FacesContext context = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
session.invalidate();

return “Yay! You got it!”;
} else {

return “Sorry, ” + userNumber + ” isn’t it.”
+ “Guess again…” + “number is: ” + randomInt;
}
}


п.с.

Има много хубаво IDE за разработчици. Навремето как съм се мъчил като грешен дявол само аз си знам. Сега само build , deploy и готово. Песен.

Доста отдавна (около преди 10-на години) се сблъсках с тази екзотична (за времето) технология . Използвал съм може би първия излязъл релииз.  Още от тогава беше многообещаваща с единствения недостатък, че за адекватно бързодействие беше необходима многопроцесорна UltraSparc машина , струваща 50-на хиляди долара (тогава). Но все пак и задачите бяха cpu-емки.

Котаракът позволява server side изпълнение на Java програмки, нещо като Java CGI , ама по-сложно :)  И това по времето, когато тук програмистите масово използваха Borland Pascal (ах тоз велик език – мда подигравам се) за да пишат приложения.

Напоследък обаче, с наличието на евтини и бързи процесори, Java е станала доста актуална и сред програмистите и в бизнеса. Напълно заслужено всъщност.

Та реших набързо да си припомня инсталацията и конфигурирането на това животно (хищник всъщност).

Първата работа е да проверим дали има Java на съответната машина :

root@web2:~# java -version
java version “1.6.0_06″
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)
root@web2:~#

Имаа.. . А дали е нужната версия ще видим в процеса на инсталация, че сега ме мързи да чета документацията. В краен случай ще инсталирам нужната.

Така, следващата стъпка е да сложим connector-a , т.нар. mod_jk и да пипнем съответните конф. файлове …….
Сваляме mod_jk от тука :

http://tomcat.apache.org/connectors-doc/ (по забутано място няма на сайта)

и го слагаме в lib/httpd/modules (при мен на slack-a , или там дето са модулите на апача)

След това пипваме httpd.conf , така че да се зареди одумвания модул :

LoadModule jk_module lib/httpd/modules/mod_jk.so

JkWorkersFile “/etc/httpd/workers.properties”

JkLogFile     “/var/log/jk.log”

Важно е да не се забрави за лог файла , щото апача гърми с грешка и не тръгва. Също така и правата на mod_jk.so

workers.properties е конф файла на mod_jk ,  създаваме го в /etc/httpd/   (или където са конф файловете на апача)

worker.list=worker1

worker.worker1.type=ajp13
worker.worker1.host=77.77.44.26
worker.worker1.port=8009

Т.е. tomcat ще е на същата машина (дано не умре дъртия celeron) . Гледам вече се поддържа и loadbalancer , навремето нямаше, та се наложи да пиша клъстър на Java. Но за него – друг път. Забележете обаче, че tomcat може да е инсталиран (и да работи) на произволна машина, а не само там дет е web сървъра, като добавим и load balancer , нещата стават интересни. В последствие ще го инсталирам на съседния (доста по бърз) сървър.

След като конфигурирахме апача, следва най-важното – да инсталираме котарака. Избрах v.6 . :

root@web2:/opt#
root@web2:/opt# wget -c http://apache.cbox.biz/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.tar.gz
–2010-07-02 23:58:52– http://apache.cbox.biz/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.tar.gz
Resolving apache.cbox.biz… 87.118.140.10
Connecting to apache.cbox.biz|87.118.140.10|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 6123410 (5.8M) [application/x-gzip]
Saving to: `apache-tomcat-6.0.26.tar.gz’

100%[============================================================================>] 6,123,410 4.12M/s in 1.4s

2010-07-02 23:58:54 (4.12 MB/s) – `apache-tomcat-6.0.26.tar.gz’ saved [6123410/6123410]

root@web2:/opt# tar zxvf *tar.gz
apache-tomcat-6.0.26/bin/catalina.sh
apache-tomcat-6.0.26/bin/digest.sh
apache-tomcat-6.0.26/bin/setclasspath.sh

cd bin
./startup.sh

And voila :

http://ss7.dupnica.net:8080

Тръгна учудващо бързо. Навремето се борих много повече, особено с conector-a .

Накрая, за да вържем апача с котака , слагаме следния ред в дадения vhost :

JkMount /examples/* worker1

И се получава ето това :

http://ss7.dupnica.net/examples/

Е , изписа се достатъчно последните дни. Не виждам смисъл да се хабя.

Интересното е, че колегата е решил да им подари един сървър :) . Пък ако вземат та сбъркат сървърите, ще ги съдя до дупка.

Хаха, сървърите са на покрив естествено.

Не е лоша идеята съдържанието да се достъпва през NFS , или пък да има някаква шашма с dst-nat , та да им гледаме акъла , особено ако dst-nat се прави от МТ с флаш диск или още по-добре routerboard :)