понеделник, 29 декември 2008 г.

Щастлива Нова Година

На всички желая,
3,14 пъти повече здраве,
3,14 пъти повечв щастие:)
Наздраве:)

понеделник, 22 декември 2008 г.

БАРС - IT Boxing


Наскоро се запознах с една фенка на БАРС.
За нея:
Ръст ....
Професия: Програмист.
Хоби: IT Boxing
Любима ОС: MenuetOS

неделя, 14 декември 2008 г.

Една българска роза пее за друга българска роза.

Приятно слушане :)

Училищен линукс / School linux



Явно инициаторите на svoboden.net не са сами. В други държави също се обмислят идеи, свързани с преминаване от proprietary към софтуер с отворен код. В други не само се обмислят, но се пишат концепции, създават планове за внедряването му.

Ще илюстрирам с 2 цитата от документ с название - "Концепция за развиване на разработването и използването на свободно програмно осигуряване на Руската Федерация" (КОНЦЕПЦИЯ развития разработки и использования свободного программного обеспечения в Российской Федерации)

Под свободным программным обеспечением (СПО) в настоящей Концепции понимается разновидность программ для ЭВМ, лицензионным договором на право использования которых, предоставляются следующие права:
использовать программу для ЭВМ в любых, не запрещенных законом целях;
получать доступ к исходным текстам программы как в целях изучения и адаптации, так и в целях переработки программы для ЭВМ;
распространять программу (бесплатно или за плату, по своему усмотрению);
вносить изменения в программу для ЭВМ (перерабатывать) и распространять экземпляры измененной (переработанной) программы с учетом возможных требований наследования лицензии.

...
Целями Концепции являются:
создание условий, обеспечивающих органам государственной власти, гражданам и субъектам экономической деятельности получение преимуществ в выполнении своих задач от использования СПО в масштабах, соответствующих мировому уровню;
обеспечение перспективных направлений развития отрасли информационных технологий и связи, зависящих от развития СПО;
выявление и содействие решению проблем отрасли разработки программ для ЭВМ, взаимосвязанных с проблемами развития СПО.
...
Для достижения указанных целей необходимо обеспечить:
анализ действующей правовой базы, включая международное законодательство, в целях выявления проблемных вопросов, связанных с развитием разработки и использования СПО, и разработку необходимых правовых актов;
анализ путей развития и возможных сценариев развития российского и мирового рынка программ для ЭВМ с учетом места и роли СПО в современной информационно-коммуникационной индустрии;
развитие инфраструктуры разработки и использования СПО, в том числе для государственных и муниципальных нужд;
реализацию и/или поддержку перспективных проектов СПО, в том числе для государственных и муниципальных нужд;
организацию в целях расширения разработки и использования СПО дополнительного профессионального образования специалистов в различных отраслях экономики и государственного управления, а также иных заинтересованных лиц...


Няма да превеждам целия текст но мога да обобщя, че този документ олицитворява съществуването на държавна политика (в Русия) в областта на разработането и използването на Свободни програми и принципите на тяхното развитие.

Къде сме ние?
От незапомнени времена обичаме да отстояваме своите лични интереси. Макар и бидейки представители на народа нашите депутати ни показват, че обвързването с някоя корпорация от техен личен приоритет се превръша и в наш приоритет при това за наша сметка.

Да се върна на svoboden.net, вече няколко години инициаторите му се опитват да прокарват светли идеи в обществеността, но без наличието на държавна подкрепа и по точно с наличието на държавна не подкрепа поставените от тях цели са трудно достижими.

Случи се неочакваното (ужаст)


Дори в най-страшните си кошмари не бях сънувал нещо подобно, но то се случи: Sun и Toshiba подписаха договор за доставяне на лаптопи Toshiba с инсталиран OpenSolaris, в началото на 2009.
Учудването ми, мисля, е доста обосновано предвид огромния дял на Солариси по света - цели 0.01 процента от пазара на операционни системи, както и целевата група на Соларисите по рождение :)

четвъртък, 11 декември 2008 г.

Нещото без което не можем :)

Изминаха 40 години от създаването на странното на вид устройство, днес известно като компютърна мишка.
Бащата на това устройство, както и на още 4 деца е Douglas Engelbart.

неделя, 30 ноември 2008 г.

До Латинска Америка и обратно

Бях споменал за видео блога на Дмитрий Медведев.
Този път ми стана интересно да гледам записа, на заден план се вижда скъпата бизнес класа имитираща оригиналния президентски кабинет. Другото което ме зачовърка вътрешно е дали Apple плащат за репортажа:) Някой забеляза ли лаптопа?
На времето беше популярен вица за това, че Аквафреш платили на руското правителство да си направи знамето в бяло, синьо и червено.

Американски уестърн за коледни играчки


Не безисвестната ни държава САЩ, в ролята си на световна икономическа сила налага доста икономически, културни и други модели на поведение на другите държави, Всъщност това е напълно естествено. Все пак, за да се поддържа високата мощ трябва да има експанзия.
Много от нещата в бита ни вече са променени до някаква степен от заобикалящите ни политически и други интереси. Освен това много по-лесно е да се копира един модел от колкото да се измисли и реализира нов по-удачен.

Една от "традициите", дошли ни насляпо, е така наречения "Хелоуин" (естествено колкото повече празници по добре:) ).
Все още не се е привил денят на Благодарността:) (може би защото сме неблагодарни;))
За пореден път САЩ ни показаха и днес в дълбоко цивилизования свят могат да се творят дълбоко нецивилизовани и нехуманни действия при това без никаква принуда.
Става дума за събитието носещо красноречивото название Черният Петък - денят след деня на Благодарността, време на коледни отстъпки, време когато трябва да убиеш ближния си за да се докопаш до някоя изгодна стока, било тя и коледна играчка.
Иска ми се тази традиция да не се разпространи и при нас.
И все пак може би хората са социални животни, бъдейки такива трябва поне малко да се съобразяват с околните.

Някои новини за Черния Петък можем да видим от родината му:

http://edition.cnn.com/2008/US/11/28/black.friday.violence/
http://www.nydailynews.com/ny_local/2008/11/28/2008-11-28_worker_dies_at_long_island_walmart_after.html

iLinux

Да ни е честит новия яблофонски линукс!

понеделник, 24 ноември 2008 г.

Търси докато пишеш

Eclipse ни предлага няколко начина за търсене на каквото пожелаем:)
Най-известния и можеби най-непривлекателния за мен начин е използвайки Ctrl+F.
Далеч по интелигентно и по-разширено е търсенето из целия проект или група от проекти използвайки Ctrl+H.
Най-удобният за търсене в отворен файл е така наречения "incremental find". Извикваме Ctrl+J, въвеждаме желания текст (това търсене нямя GUI).
Eclipse открива и осветява следващото съвпадение докато пишем. Можем да използваме стрелките за горе и долу за да се местим към следващото или предишното съвпадение.
Освен това последващите извиквания на Ctrl+J са еквивалентни на стрелката за местене на долу.

събота, 22 ноември 2008 г.

Разглеждане на Java документацията в Eclipse IDE


Документацията на JDK може да бъде достъпвана от Eclipse.
Не винаги това става от раз след стандартна инсталация на JDK-то.
Понякога пък решаваме, че не сикаме да ползваме онлайнската документация.
Затова Eclipse ни предоставя възможност да конфигурираме пътя до желаната документация.
1. Отваряме "Package Explorer" for the JRE System Library, избираме rt.jar (runtime library) или Package Explorer -> Project right click Properties/Java Build Path/ и пак избираме rt.jar
2. На
rt.jar -> right click/Properties/Javadoc Location
3. Установаяваме пътя: http://java.sun.com/javase/6/docs/api/ или
file:/C:/Program Files/Java/jdk1.6.0_10/docs/api/

Това е:)

Чудеса се случват и в България :)

След преминаване на тримесечно очтчитане, по погрешка електрото ми бяха начислили с 800 кВ повече изразходена ел. енергия.
След малко разправии установих, че ходенето по опашки и разправянето със служители не е много ефективно.
Бих казал по изгодно е да не ходиш да се разправяш - нито хабиш нерви, нито обувки, нито отсъстваш от работа.

Все пак се оказа, че съществува един много по лесен вариант, който даже проработи.
Това е електронния адрес за оплаквания: zaklienta@cez.bg.

След кратка кореспонденция, без използване на никакви епитети, обръщения и препратки към роднини..., след назначеното и състоялото се рандеву с НОВИЯ инкасатор се получи следния резултат:


Уважаеми Господин Златинов,

Във връзка с подадено от Вас заявление с вх.№XXXXXX/16.09.2008г., относно неправилно отчетена ел.енергия, бихме искали да Ви уведомим, че начислените количества енергия са базови на основание Общите условия на ЧЕЗ „Разпределение България” АД, Чл. 26, Ал. 2.

На дата 24.09.2008г. при проверка са констатирани следните показания: за ДТ – 53972 и за НТ – 81453. В резултат е пуснат рапорт за корекция.



С най-добри пожелания!

Дирекция „Обслужване на клиенти”

ЧЕЗ България

All in one touchscreen pc - Asus Eee Top

Като гледам подобни хардуерни решения ми е лесно да стана фен на Асус:)
Верно дизайна е в стил "Apple", но то и с колите е така, някой пуска концепт кар и айде всички на хорото:)
Като се абстрахираме от външния вид и обърнем внимание на размерите и простотата при работа, ще забележим, че се е получил доста интересен "дивайс".

Това иначе толкова компактно животинче побира:
- 1.6GHz Intel Atom CPU
- 1GB of RAM
- 160GB hard drive
- 15.6-inch LCD
- Windows XP Home (какво беше това?)
- 1.3-megapixel camera
- built-in stereo speakers
- WiFi
- някой друг порт
- вградена графична карта (естествено).



Не обръщайте внимание на изкачащите Error screens :)
(на Windows му е простено)

сряда, 19 ноември 2008 г.

събота, 15 ноември 2008 г.

Честит "Буран" :)

По-добре късно от колкото още по-късно :)

Бах писал, че от известно време насам президентът на Руската Федерация, Дмитрий Медведев публикува видеозаписи на свои обръщения във видеоблог създаден за целта на сайта kremlin.ru. Оказва се че от скоро и ново-избраният президент на Съединените Щати решил да публикува традиционните радиообръщения към нацията в youtube.com. Досегашният президент Джордж Буш публикуваше аудиозаписи на своите радио обръщения в интернет на сайта на Белия дом.
И все пак това е една голяма стъпка за американската демокрация и американското човечество:)

сряда, 12 ноември 2008 г.

Световен въдворител на демокрация, мир и духовни ценности:)

Интересно с какви полезни дейности могат да се занимават хората:)

понеделник, 10 ноември 2008 г.

Убиецът на DOC формата

Преди малко разбрах, че старите дружки Сън и АйБиЕм се събрали и решили да натрият носа на Майкрсофт. Всъщност става дума за новия им взаимен проект OpenDocument Format Toolkit Union. Както всички може да се досетим има СДК пуснато и за ДжаВа.
Пресни топли новини и матриали на: http://odftoolkit.org/ и http://odftoolkit.org/projects/odftoolkit/pages/ODFDOM

неделя, 9 ноември 2008 г.

БАИТ Експо 2008

Някак незабелязано мина поредното БАИТ Експо. Дали заради липсата на каквато и да е реклама, дали заради липсата на организация:)
Спомням си първото БАИТ Експо 2000-та беше така организирано, че като пристигне някой от "провинцията" излиза пред централна жп гара и след няколко минути минава бял автобус извозващ желаещите да посетят БАИТ-а съвсем безплатно.
Сега стигнахме до там, че за да разбереш за БАИТ-а тябва да минаваш покрай ИНТЕР Експо центъра и да търсиш някой дребен транспарантчец.
Изключително удобните дни подбрани за експозицията, а именно работни дни + събота, предразположиха хората придружаваши експонатите да са в пъти повече от посетителите:) Естествено в ден като събота, в който нормалния трудещ се човек би могъл да посети експозицията, половината "сергии" вече бяха закрити:)
Все пак имаше интересни експонати и не липсваха и дружелюбни служители...
Ето нещо, което ми харесаха:)

събота, 8 ноември 2008 г.

Последният "Буран" на империята

Преди 20 години на 15 ноември 1988г. един от 3-те съветски пилотируеми космически кораба за многократно използване, извършва първия и единствен радиоуправляем полет в автоматичен режим, без присъствието на пилоти на борда.
"Буран" е последният грандиозен проект на социалистическата свръх държава СССР.

Полет:


Документален филм:



Други клипове:





Инфо за Буран: http://www.buran.ru

петък, 7 ноември 2008 г.

10 Ноември

"Просто сделать в 1000 раз сложнее чем сложно сделать"
"Лучше бы я сделал сенокосилку"

Михаил Тимофеевич Калашников


Датата 10 Ноември е интересна не само с различните политически събития настъпили тогава (пленум на ЦК на БКП гласува оставката на Тодор Живков, след 33-годишното му управление на България, като генерален секретар на БКП, България поема път към славна Промяна), но и е рожденна дата на Михаил Калашников, конструкторът получил такава известност, за която не е мечтал никой друг конструктор на света. Неговото творение - АК47, се използва в повече от 100 държави и е произведено в над 100 000 000 екземпляра.

Кратка биография на Михаил Тимофеевич може да бъде видяна тук: http://www.weaponplace.ru/kalashnikov.php

понеделник, 3 ноември 2008 г.

Да превърнем грозното патенце в лебед / Ugly Duckling Into Swan

Навярно няма човек на земята който да не написал едно визуално програмче на Java със Swing и да не се е позачудил защо толкова грозно изглеждат компонентите.
По подразбиране приложенията биха използвали J2SE 1.5 Ocean look, който не е върха на дизайнерската мисъл и вдъхновение. Колкото и да са били основателни доводите на създателите му, този look and feel подтиква всеки който го ползва да го смени с друг:) Факт!
Това което наистина може да се признае е че има предвидена възможност за смяната му както и спецификация по която да се създават нови look and feel-и.
За почитателите на изчистения интерфейс, от Sun са се погрижили и са вмъкнали Motif Look i Windows Look and feel-и. Всеки който има инсталиран jdk, може да ги виде в действие като пусне jdk1.6.0_XX/demo/jfc/SwingSet2/SwingSet2.jar.
Може да твърдим че Windows Look and feel-a изглецда нормално, както един изчистен класически Win. Все пак хората (а от скоро и Sun са се усетили) са създали други по-секси теми.
Мисля да спомена няколко безплатни и една платена тема.

1. Liquid (LGPL)
Demo: https://liquidlnf.dev.java.net/demo/liquid_demo.jnlp
Origin: https://liquidlnf.dev.java.net/



2. Quaqua (Free for commercial and non-commercial use)
Demo: http://www.randelshofer.ch/quaqua/jws/quaqua-test.jnlp
Origin: http://www.randelshofer.ch/quaqua/index.html



3. JGoodies (Apache License 2.0)
Demo: http://www.jgoodies.com/download/demos/looks/looksdemo.jnlp
Origin: http://www.jgoodies.com/freeware/looks/index.html


4. Substance (BSD)
Demo: https://substance.dev.java.net/webstart/test.jnlp
Origin: https://substance.dev.java.net/



5. Nimbus (LGPL)
Demo: http://javadesktop.org/swinglabs/demos/nimbus/nimbus.jnlp
Origin: https://nimbus.dev.java.net/



Сега е момента да спомена, че последната тема е добавена в jdk1.6u10, като идеята е да замести отвратителната Ocean тема.

Следващaтa тема е платена но не е твърде скъпа - 99 евра:)

6. Synthetica (99 eur)
Demo: http://www.javasoft.de/downloads/public/synthetica/syntheticaDemo.jnlp
Origin: http://www.javasoft.de/jsf/public/products/synthetica



Вече можем да превърнем нашето грозно Ocean Look патенце в един по-красив лебед:)
Забравихме да споменем вълшебните думички:
UIManager.setLookAndFeel("com.xxx.xxx.MyLookAndFeel");


Info

неделя, 2 ноември 2008 г.

Властелинът на света. Никола Тесла

Цитати от филма:
"Через некоторое время, по словам Теслы он знал о молниях, больше чем знал о них сам бог."
"Я преуспел в создании разрядов, мощность которых значительно превосходит силу молний." (Никола Тесла, 1899 г.)

Update LTS to Non LTS UBUNTU (8.04 to 8.10)


Както казват на запад:
I am pleased to announce successful Ubuntu upgrade on my notebook, continuing the tradition of using the latest and greatest open source software.
Вчера се позачудих, защо след като излезе новия Intepid Ibex , моя Харди (8.04) не се обади за обновления. Оказа се, причината била: "By default Ubuntu 8.04 LTS will not offer a upgrade to 8.10. This is because the 8.04 LTS version is a long term support release and 8.10 is a regular release. Upgrades from 8.04 LTS to 8.10 are fully supported, of course, and easy to enable."
Потърсих в нет-а и венага открих стъпки за ъпгрейда: http://www.ubuntu.com/getubuntu/upgrading .
За моя голяма радост нищо не се прецака, ситемата тръгна нормално и даже ми се обнови и имплантираното КДЕ.
Мога само да изкажа похвали в адрес на всички, които се трудят над Убунту-то, да бъде толкова приятно за ползване. (не-похвалите ще ги оставя за друг път:) )

петък, 31 октомври 2008 г.

Смях за финансисти :)

Get class and method name of calling class


new Throwable().fillInStackTrace().getStackTrace()[1].getClassName()
new Throwable().fillInStackTrace().getStackTrace()[1].getMethodName()
new Throwable().fillInStackTrace().getStackTrace()[1].getLineNumber()

четвъртък, 23 октомври 2008 г.

Видеоблог

Не аз оше не съм си създал, даже не се бях сещал:) Струва ми се, че е добра идея. Особенно интересно е да я виждаш реализирана от държавни институции. Изобщо напоследък много си мисля върху това колко са полезни блоговете и начина им на въздействие върху хората;)



http://kremlin.ru/sdocs/vappears.shtml

неделя, 5 октомври 2008 г.

Java на Ubuntu

В допълнение на Java Installation, предлагам един по-кратък и сигурен начин за инсталиране на Java върху Ubuntu

JDK: sudo apt-get install sun-java6-jdk sun-java6-plugin

JRE: sudo apt-get install sun-java6-jre sun-java6-plugin

четвъртък, 25 септември 2008 г.

Гуглфоне, гуглофоне, я кажи кой телефон е най-готин на света?


Настъпи дългоочакваният момент с дебюта на първия "гуглофон":). Устройството е известно също, като "Гугломобил" :). Така, като го гледам, може да се сложи в класа на "яблофоните" (IPhone), даже има предимство, под панела има Qwerty клавиатурка. Вярно малко ме дразни външния му вид, например IPhone е доста по секси:) Все пак външния вид не е всичко, важна е душата (на телефона).
Естествено LinuxDevices са направили малко представяне на телефона:).

вторник, 16 септември 2008 г.

Музикален Портрет - 16.09.08

В тази рубрика реших да слагам по някоя песен или изпълнение, което по някакъв начин се е докоснало до душата ми, без значение дали е музика която бих слушал всеки ден или не повече от веднъж. Без значение колко е модерна или старомодна!

Първата песен има честта да оглави Lara Fabian с песента "Je suis malade"



Искам да подчертая, че подредбата и националността на изпълнителите и песните са в случйна (или поне псевдо-случайна) подредба.

Следва "Vivo por ella" в изпълнението на Аndrea Bocelli и Мarta Sanchez



O Mare e Tu ( The Ocean and You) - Andrea Bocelli & Dulce Pontes


Тази вечер ще завърша с малко по различната и "революционна" песен Comandante Che Guevara Hasta Siempre - Nathalie Cardone

сряда, 10 септември 2008 г.

Антиматерия

Хм:)
Незнам дали се е образувала антиматерия или микроскопични черни дупки, след пускането на ускорителя на тежки елементарни частици (LHC), но поне засега не ми изглежда да съм се прехвърлил в друго измерение:) Освен, може би, ако има измерение на задръстванията където времето тръгва назад:) Според мен задръстванията са онова средство за путуване назад във времето за което Айнщайн е говорил, но не е могъл да си представи как изглежда:)

Още инфо може да се види на http://lenta.ru/articles/2008/09/10/doomsday/
Забележете края на линка:)

вторник, 9 септември 2008 г.

Home grown black holes / Домашни черни дупки



От днес трябва да встъпи в действие най-големия сблъсквател на елементарни частици. Съществуват спекулации, че при пускането му могат да се образуват черни дупки. Би било забавно:) да си направим сами (хората) черна дупка която да ни погълне:) На печелившите честито:)
За построяването на колайдера досега са похарчени ~3 милиарда евро и 15 години. От днес, всяка година ще поглъща около 20 милиона евро за ток.

Нека се просветим малко с някое видео:



Малко LHC (Large Hadron Collider) художествена самодейност:

петък, 29 август 2008 г.

EOS Integrated Cleaning System video

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




петък, 22 август 2008 г.

Live Sofia - София на живо

http://www.datacom.bg/webcam/player1.php

сряда, 20 август 2008 г.

Превозни средства за Софийските улици

Вариант 1: При нeподходящи метеорологични условия.



Вариант 2: Предвижване между блоковите пространства през пролетта и есента.



Вариант 3: По време на дъжд или след преминаването му.



Вариант 4 (за предпочитане): Благоприятни метеорологични условия, наличие на околовръстен път. Може да се прилага на Бул. България, Бул. Ал. Пушкин (след ремонта) и др. Препоръчителна е ниска концентрация на пешеходци по трасето, както и скрили се зад храстите бели опели.



Софийска Община Ви пожелава на Добър Път!!!

неделя, 17 август 2008 г.

Encrypt e-mails with FireGPG / Шифриране на електронни писма с FireGPG

Warning: I can not guarantee that the usage of this article, neither the mentioned software tools, should not lead to some information damages, problems or loses of information or e-mails. If one e-mail is encrypted via FireGPG, GPG4Win or GnuPG and you loose the appropriate private key or the private key came to be damaged it is impossible to decrypt the encrypted message.

Background:
In this article I am describing the way to send e-mails securely via Gmail, using CPG4Win and FirGPG.

But first, let me clarify who is who in the game.
GPG4Win
GPG4Win is a set of tools, including the visual frontend for GnuPG called GPA – Gnu Privacy Assistant.
FireGPG
FireGPG is a Firefox extension which brings an interface to encrypt, decrypt, sign or verify the signature of text in any e-mail or web page using GnuPG.

GPG4Win is able to create several different types of keypairs, but a primary key must be capable of making signatures. There are only three options. "DSA and ElGamal (default)" actually creates two keypairs. A DSA keypair is the primary keypair used only for making signatures. An ElGamal subordinate keypair is created for encryption. "DSA (sign only)" is similar but creates only a DSA keypair. "RSA (sign only)" creates a single RSA keypair usable for making signatures (there is a GnuPG out of date documentation.... ElGamal is no longer used for signatures.
Actually if one use GnuPG in command line and uses gpg --expert –gen-key instead of gpg –gen-key, it is possible to use RSA algorithm for encryption too.
).
In all cases it is possible to later add additional subkeys for encryption and signing. For most users the default option is fine (for GnuPG it looks like gpg --edit-key [ID] addkey). Actually you should not use this commands but the UI interface instead.

In the rest of article I provide 4 steps to install and use FireGPG and one scenario of FireGPG usage.

Steps:
1.Download and instal GPG4Win – frontend for GnuPG or just use GnuPG from the shell/command prompt.
2.Generate „DSA and ElGamal (default)“ keys (in console smth like gpg –gen-key), export the public key (gpg –armor –output pubkey.txt –export ‘your_name’) to some place (on pgp server or your website) where everybody can access it.
3.Install FireGPG on FireFox browser
4.Enjoy It!

Now the scenario: imagine you want to send an encrypted e-mail to somebody using provided by him public key.
To recreate the scenario I've just send an email to myself, using the nice looking Gmail.
In real life you should force your friends to send you e-mails encrypted with your public key in order to protect your e-mails.
I am starting the GPA:


Edit some preferences in order to create custom keys:


Inserting information in order to generate key pair:


Export key to some resource file:


Import the private key (the content should be given in exported public key):


Open the GMail (there should be some extra buttons):


Sign and encrypt, the result should look like:


Send the message.

In order to show that encrypted message can be decrypted, I just select the encrypted message and decrypt it:


The result is amazing:)

That's all folks:)

Resources:
http://gpg4win.org/
http://ftp.gpg4win.org/gpg4win-1.1.3.exe
http://getfiregpg.org/stable/firegpg.xpi

петък, 15 август 2008 г.

Tomcat Virtual Directory

You can create an individual context.xml file, to define a context.
You then specify the base directory for that webapp, whereever it is.

In Tomcat4, this file goes in the appBase directory (default = $CATALINA_HOME/webapps
In Tomcat5, this file goes in the $CATALINA_HOME/conf/[enginename]/[hostname]/ directory


(Context path="/my_site" docBase="C:/my_site")

(/Context)

Other usefull article: http://gandhim.wordpress.com/2008/01/31/tomcat-55-virtual-directory/

Calculate PI with arbitrary precision in Java / Изчисляване на числото Пи с произволна точност използвайки Java

Coming Soon
http://blog.taragana.com/index.php/archive/calculate-pi-to-arbitrary-precision-sample-java-code/

сряда, 13 август 2008 г.

Java and SSH

Coming Soon (maybe next week)

http://www.openssh.com/java.html
http://www.trilead.com/Products/Trilead_SSH_for_Java/
http://sshwindows.sourceforge.net/

Google's Keyczar / Keyczar - шифриране за начинаещи

Coming Soon

http://googleonlinesecurity.blogspot.com/2008/08/keyczar-safe-and-simple-cryptography.html
http://code.google.com/p/keyczar/wiki/NonGoals

вторник, 12 август 2008 г.

JTable tips - 1



Преди време ми се наложи да си поиграя с невероятната компонента JTable :) Имаше едно приложение което показваше някаква информация в голяма таблица. То беше написано на Java и потребителския му интерфейс използваше Swing (за добро или лошо). Проблемът беше, че ако текстът в някоя клетка беше твърде дълъг, просто не се събираше и не се виждаше частта която не се събира в очертанията на клетката. Тогава ми хрумна една идея, не е кой знае колко гениална, но беше решение на проблема. Накарах таблицата да показва всички записи в шрифт с еднакви по дължина символи (например Courier New) и установявах дължината на дадената колона да бъде приблизително равна на дължината на стринга на най "дългата" клетка. Получи се "нещо":)
Един друг вариант е просто да се покаже tooltip с текста на конкретната клетка, без да се променя размера на колоната в която се намира.

import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class MultiLineToolTipInsideJTableCell extends JFrame {
public static void main(String[] args) {

new MultiLineToolTipInsideJTableCell();
}

public MultiLineToolTipInsideJTableCell() {
//initilize
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
//JTable
JTable table = new JTable() {

//Implement table cell tool tips.
public String getToolTipText(MouseEvent e) {
String tip = null;
java.awt.Point p = e.getPoint();
int rowIndex = rowAtPoint(p);
int colIndex = columnAtPoint(p);
int realColumnIndex = convertColumnIndexToModel(colIndex);

try {
if (realColumnIndex == 1 && rowIndex != 0) { //comment row, exclude heading
tip = getValueAt(rowIndex, colIndex).toString();
}
if (realColumnIndex == 2 && rowIndex != 0) { //comment row, exclude heading
tip = getValueAt(rowIndex, colIndex).toString();
}
} catch (RuntimeException e1) {
//catch null pointer exception if mouse is over an empty line
}
return tip;
}
};
//
table.setModel(new DefaultTableModel(new Object[][] {}, new String[] {
"", "", "" }) {
});

((DefaultTableModel) table.getModel()).setRowCount(4);

table.getModel().setValueAt("USERNAME", 0, 0);
table.getModel().setValueAt("DATE", 0, 1);
table.getModel().setValueAt("COMMENTS", 0, 2);

//generate table's content here
for (int i = 1; i <= 3; i++) {
table.getModel().setValueAt("User" + i, i, 0);
table.getModel().setValueAt("Date" + i, i, 1);
table.getModel().setValueAt(
"A very loooooooooooooooooooooooooooooooooooooong comment. "
+ i, i, 2);
}

//finalize
panel.add(table);
this.add(panel);
this.setSize(250, 150);
this.setVisible(true);
}
}

вторник, 5 август 2008 г.

Java is Everywhere

Малко промиване на мозъци:





"java everywhere"

The next video is not suitable for people under 18,
people with weak nerves!





"sun microsystems"

Java vs Rubby / Java срещу Rubby

Method with a variable number of arguments in Java (varargs methods) / Методи с променлив брой аргументи


Струва ми се, че не е много известно, но Java има способността да работи с променлив брой аргументи подадени на някой метод. Това се постига с използването на оператора "..." в мястото за аргументите на декларацията на метода.
Преди JDK 5.0, ако искаме да подадем променлив брой аргументи на някой метод, трябва да подадем например масив от обекти или списък с обекти.

JDK 5.0 добавя свойството varargs, което е доста по-гъвкаво. vararg трябва да бъде последният аргумент в списъка с аргументи.

Нека илюстрираме използването на varargs с един обикновен HelloWorld пример:

public class Varargs {

public static void main(String args[]) {
myMethod("Hello");

System.out.println();

myMethod("Hello", "again", "world!");
}

public static void myMethod(Object ... args) {
System.out.println("You have passed in " + args.length + " arguments ");
for (Object o : args) {
System.out.println(o);
}
}
}

Как работи?
Няма от какво да се притесняваме, дефакто компилатора генерира съсщия код, какъвто би се получил при използването на обикновения масив Object[]{}.
Къде се използва?
Естествено, varargs се използва в стандартната Java библиотека:
-
Collections.addAll позволява да се добавя масив в колекция или произволно число елементи, зададени поотделно.
- PrintStream.printf позволява да се извеждат форматирани резултати, както в С++.
Предполагам, че се използва и на други места:)
За какво ни е цялата тази гимнастика?
Така може да се спести малко време за писане на
Object[]{} и да се подобри читаемостта на кода.

понеделник, 4 август 2008 г.

Това не може да бъде / This is impossible

Предлагам ви да погледнете някои на пръв поглед невъзможни неща които всъщност се случват в действителност.
Става дума за екстремната маневреност на фамилията Су-27 и чудесата които вършат, неразделно свързани с името на Виктор Пугачев. Говори се, че пилоти в неговия клас има само 5 в света, като само 3-ма са в състояние да повторят това което прави Пугачев във въздуха. Естествено не се знае какво би правил той без самолет като Су 27.
Забележителното при тези самолети е, че с тях е възможно да се влезе в свредел (1) и след това да се излезе, да се лети с 80 км/ч без да паднат като круша - 17 тонна круша:). Странна и зашеметителна е гледката на летящ с опашката напред самолет...
На картинката по-долу е показана една от "невъзможните" фигури - Кобрата на Пугачев, които се изпълняват от самолетите Су 27 (и компания).

(1) Свредел - движение на летателния апарат по верикална низходяща спирала с малък радиус, с големи ъгли на атака, възникващи при загуба на скорост по време на полет.



А ето какво говори Wikipedia за Кобрата на Пугачев (съкратено):
...
При изпълнението на "кобрата", самолетът рязко повдига носа чак до изхвърляне назад, но при това запазва предишната посока на полета. По този начин, самолетът излиза на ъгли на атака по големи от 90 градуса: Су-27 — 110°, Су-37 — до 180° (то ест Су-37 може да лети с опашката напред). След това самолетът се връша в нормален режим на полет, практически без загуба на височина...

...
Практическата значимост на тази фигура в реалния бой се състои във възможността за пускане на ракети нагоре-назад със използване на нашлемна ситема за насочване. При бързо кацане, позволява бързо да се намали хоризонталната скорост на самолета, например когато няма време за преминаване по пистата...

Първоначално фигурата можеше да бъде изпълнявана от фамилията Су 27 (Су 30, Су 35, Су 37), но понастоящем може да се изпълнява и от МиГ 29М, МиГ 29ОВТ.

Нека остявя видеото да говори само за себе си.
(Обърнете внимание на движението на задкрилките, задкрилките, соплата, разположението на самолета, бързата промяна на разположението...)

Възможна е грешка при идентифицирането на моделите, понеже някои от модификациите се различават само по авионика и двигатели. Освен това цялата фамилия самолети имат доста сходен вид (иначе нямаше да са фамилия:)).
Тук аз съм сложил мои обозначения различаващи се от някои в youtube, тъй като мисля, че не всички от тях са коректни!

Су 30


Су 30


Су 35/37


Су 35 управляван от Пугачев

Сутрешно настроение / Morning mood

Music Idol 2 Nora / Нора - Close My Eyes Forever - Lita Ford
Мисля, че тази песен описва настроението ми тази сутрин:)
Избрах изпълнението на Нора вместо оригиналното на Lita Ford и Ozzy Osbourne понеже ме зарежда повече с енергия!



CLOSE MY EYES FOREVER

Baby

I get so scared inside, and I don't really understand

Is it love that's on my mind, or is it fantasy

Heaven

Is in the palm of my hand, and it's waiting here for you

What am I supposed to do with a childhood tragedy

(Chorus)

If I close my eyes forever

Will it all remain unchanged

If I close my eyes forever

Will it all remain the same...

Sometimes

It's hard to hold on

So hard to hold on to my dreams

It isn't always what is seems

When you're face to face with me

You're like a dagger

And stick me in the heart

And taste the blood from my blade

And when we sleep, would you shelter me

In your warm and darkened grave

(Chorus Repeat)

Will you ever take me

No, I just can't take the pain

But would you ever trust me

No, I'll never feel the same...Ohh...

I know I've been so hard to you

I know I've told you lies

If I could have just one more wish

I'd wipe the cobwebs from my eyes

(Chorus Repeat)

Close your eyes

Close your eyes

You gotta close you eyes for me

http://www.elyrics.net

неделя, 3 август 2008 г.

Су 35БМ (4++) / Su 35



Днес реших да ви предствя Су 35БМ (Большая Модернизация) - многоцелеви изтребител от поколение 4++ (малко странно обозначение:))
Самолетът е снабден с нова авионика на базата на цифрова информационно-управляваща система, нова радиолокационна станция с фазирана антенна решетка, притежаваша голям обсег на откриване на въздушните и наземните цели, което позволява да се съпровождат до 30 цели и да се обстрелват едновременно 8 от тях.



Су-35 е снабден с нови двигатели с управляем вектор на тягата (дълбока модернизация на АЛ-31ФП, работно име "Изделие 117с" http://www.umpo.ru/Section27_129.aspx), което с големите аеродинамически характеристики осигурява свръхманевреност за самолета.

Долу е показана схемата на самия двигател.





А ето как е изглеждал 80-тте години на миналия век предшественикът на този двигател (или по точно соплото му:)), сега изглежда забавно но тази остаряла вече концепция се използва в свръхтехнологичните бла бла бла и най-вече свръх скъпите F22:)



Съвършенната аеродинамична компановка (триплан, двигател с УВТ) в комбиняция с работата на бортовия компютър позволяват на летеца да се изпълнява немислими за другите изтребители фигури на висшия пилотаж. Една от тях е Кобрата на Пугачов (КП). На следващата картинка е изобразено движението на самолета през определени моменти от времето по време на изпълнениеето на КП, както и снимка на самия Су 35 по време на изпълняването на фигурата.



Самолетът може да носи до 8 тона въоръжение, разпределено на 12 точки на окачване.
Освен целия спектър въоръжение, използвано на Су 30МК, на Су 35БМ, ще се интегрират нови типове управляемо оръжие "въздух-въздух" и "въздух-повърхност", в това число и за големи дистанции.

Напоследък се завъртяха много клипчета в интернет-а ето защо изтребителя може да бъде видян даже в полет, например от тук: http://rian.ru/video/20080707/113431224.html

От първия полет на самолета (1988) до първите полети на "дълбоко модернизирания" Су 35 минават има няма Двадесет години!
Oт изложението във Farnborough 2006 можем да видим макет на кабината.



На следващата снимка е показана кабината на предшественика му - Су 27 (може би най-изчистения от аеродинамична гледна точка изтребител в света)



Очевидно е че има подобрения в приборното табло:) и не само! За аеродинамичната схема и за маневреността му пък изобщо няма какво да се коментира. Понастоящем това е най-маневреният изтребител в класа си.
Мога скромно да кажа той е "Най-големия" ;)

четвъртък, 31 юли 2008 г.

Google Translation - превеждане с Google



Преди малко подкарах две елементарни примерчета на Java, използващи Google Translation API за превод на текст. Като за безплатно, апи-то изглежда читаво, даже превежда:)
Верно нема речници, но пък си е безплатно:) а аз обичам безплатното:)
Както вика Линус Торвалдс: Софтуера е като секса, по хубав е като е безпалтен:)
Използването на апи-то е повече от тривиално. ДОстатъчно е да се инклудне jar-a на апи-то и да се импортнат някой и друг клас:)

По интересното обаче е защо по дяволите няма превод от и на БЪЛГАРСКИ език след като сайта на Гуугъл предоставят такъв превод? Според мен това не е редно. Възмутен съм!!!

Тук можете да намерите jar-a и примерни реализации, любезно и безкористно предоставени от чичо Гуугъл:)
http://google-api-translate-java.googlecode.com/files/google-api-translate-java-0.4.jar
http://code.google.com/p/google-api-translate-java/
http://code.google.com/p/google-api-translate-java/wiki/ExampleUsage

Приятно ползване:)

сряда, 30 юли 2008 г.

Криптографски алгоритъм ГОСТ 28147-89



Attention!!!
Before read current article, please have in mind that:
- The export of cryptography refers to the transfer from one country to another of devices and technology related to cryptography. Some governments, including the U.S. and its NATO allies, Russia and some former USSR republics, have regulated the export of cryptography for national security considerations, and, for a time, defined cryptography to be a munition.
- There are a few countries to which you may not export anything (i.e. cryptographic devices, software and program implementations of cryptographic algorithms), without a permit.
- Export regulations in most of the countries have been relaxed from pre-1996 standards, but are still complex, and often require expert law and cryptographic consultation.
- Before you want to provide, sell (or something else) with hardware or software realization of some cryptographic algorithm or cryptographic system, third party from your or foreign country, or want to use some cryptographic realization in order to hide information or just use it as a part of some other peace of code or software or part of hardware device, have in mid that you can be restricted by your country or foreign country law!

По времето, когато писах дипломната си работа - "КРИПТОГРАФСКИ АЛГОРИТЪМ GOST", 2004, имаше само няколко публикации, но нямаше официално публикуван стандарт. Всъщност малко излъгах, имаше но беше достъпен в хартиен формат и трябваше да си го поръчаш в рубли, а аз нямах такава възможност.

Преди няколко дена реших да сърфна чичо Гуугъл дали няма да ми покаже нещо ново за единия от любимите ми блокови симетрични шифри- ГОСТ 28147-89 (другия любим ми е Blowfish, но покрай него няма такъв ореол на тайнственост).
С голяма доза песимизъм натиснах бутончето "Search". Отворих в нови табове резултатите на първата страница. На третия таб гледам нещо дет не бях отварял досега, повярвайте не е толкова лесно да попаднеш на такова след, като 2004-а бях преровил целия интернет:) Това което открих е че базата с ГОСТ-ове вече е достъпна през интернет при това съвсем безплатно.
Вчера се опитах да намеря същия линк за да го пратя на един познат но след половин час търсене се отказах:)
Изводи:
- много е хубаво когато информацията е достъпна през интернет, за ученици, студенти, така едно и също пособие може да се ползва от повече от един човек едновременно 24/7.
- много е полезно да се ползват "Bookmarks" :)

Понастоящем ГОСТ 28147-89 може да бъде видян на http://protect.gost.ru/document.aspx?control=7&id=139177

А и не ме питайте защо в заглавието на дипломната работа съм използвал името му на латиница:)

вторник, 29 юли 2008 г.

A man in a hotel...

A man is in a hotel lobby. He wants to ask the clerk a question. As he turns to go to the front desk, he accidentally bumps into a woman beside him and as he does, his elbow goes into her breast. They are both quite startled. The man turns to her and says, “Ma’am, if your heart is as soft as your breast, I know you’ll forgive me.” She replies, “if your penis is as hard as your elbow, I’m in room 1221.”

понеделник, 28 юли 2008 г.

How to Talk to Anyone, Anytime, Anywhere: The Secrets of Good Communication



"How to Talk to Anyone, Anytime, Anywhere: The Secrets of Good Communication" by Larry King
...
Larry King, well-known host of CNN's Larry King Live, is probably one of the best known, if not the most respected, interviewers today. I found his book to be a collection of useful tips on how to communicate and talk to people, not only in professional, but also in personal situations.

He covers such varied topics as how to start conversations, public speaking, and job interviews. The book is also full of anecdotes of his personal experiences in social situations as well as while filming his talk show...

...
Some find talking to others uncomfortable, difficult, or intimidating. Here is a way to overcome these communication challenges. HOW TO TALK TO ANYONE, ANYTIME, ANYWHERE is the key to building confidence and improving communication skills. Written by Larry King, this guide provides simple and practical advice to help make communication easier, more successful, and even more enjoyable. Anecdotes from a life spent talking--on television, radio, and in person,--add to the fun and value of the book. Learn what famous talkers say and how the way they say it makes them so successful.
Lessons include:
• How to overcome shyness and put other people at ease
• How to choose an appropriate conversation topic for any situation
• How to ace a job interview, run a meeting, and mingle at a cocktail party
• What the most successful conversationalists have in common
• The one great question you can ask to enhance your conversation with anyone, anytime, anywhere...

Larry King says: "Talking is like playing golf, driving a car, or owning a store - the more you do it, the better you get at it, and the more fun you have doing it. But you have to understand the fundamentals first.
It's true that talking has come naturally to me, but even those who have a natural ability for something have to work to develop it. That's what turns a talent into a skill."

http://www.amazon.com/Talk-Anyone-Anytime-Anywhere-Communication/dp/0517884534/ref=si3_rdr_bb_product

неделя, 27 юли 2008 г.

Russian television online


Russian television online:
http://www.channelchooser.com/ - Russia Today
http://www.webantenne.com/ - 1, RTR Planeta, vesti24
http://www.e-televizor.com - vesti24

Very poor quality :( But it is free.

петък, 25 юли 2008 г.

C# IoC Framework


Castle (IoC Framework and Container) is an open source project for .net that aspires to simplify the development of enterprise and web applications. Offering a set of tools (working together or independently) and integration with others open source projects, Castle helps you get more done with less code and in less time.
Castle consists of:
  1. MonoRail - MVC framework inspired by ActionPack, a paradigm shift to simplicity.
  2. ActiveRecord - The enterprise data mapping pattern implemented using NHibernate
  3. MikroKernel - A lightweight inversion of control container core
  4. Windsor Container - Augments the MicroKernel with features demanded by most enterprise projects
Related topics: Inversion of Control, Dependency Injection, Apache Avalon, Apache Excalibur, Castle, Spring, Spring.Net, Hibernate, NHibernate.

http://www.castleproject.org/

Interface injection


...

Spring doesn't offer support for interface injection as Fowler described it, but Spring does provide a couple types of "autowire" capabilities. Autowire is a means of automagically invoking setters on a target object by looking for source objects in the entire Spring context. If the target object has a setter that takes a single parameter, the type of that parameter is located in the Spring context. If Spring knows of any bean that matches the setter's type, it will invoke the setter.

As an example, if a JavaBean in Spring is set to "autowire=byType" and has a method signature of void setProperties(Properties props), Spring will look for a bean in its context that is of type Properties. If it finds one, it will pass it to the target bean's setter method. If it finds more than one source object of type Properties it will throw an exception.

Spring also has another type of autowire that uses the name of the setter property and looks for a source object with the same name. If found, the source object is passed to the target object's setter method...

As noted above, Spring's support of Interface Injection is an all or nothing approach and cannot be controlled very well. Autowire by type is a very magical type of IoC that proves too loose in many large applications, primarily because there isn't an efficient way to tell Spring which methods should be autowired and which ones are strictly off-limits....

The framework enables "autowiring" by default. To change the wiring mode, modify the spring.autowire property.

The autowire property can be set to several options: name, type, auto, constructor.


http://opensource.atlassian.com/confluence/spring/display/DISC/Adding+Interface+Injection+to+Spring
http://cwiki.apache.org/WW/spring.html