Вече не ви трябва шкурка за да почиствате от мръсотии огледалото :)
петък, 29 август 2008 г.
петък, 22 август 2008 г.
сряда, 20 август 2008 г.
Превозни средства за Софийските улици
Вариант 1: При нeподходящи метеорологични условия.
Вариант 2: Предвижване между блоковите пространства през пролетта и есента.
Вариант 3: По време на дъжд или след преминаването му.
Вариант 4 (за предпочитане): Благоприятни метеорологични условия, наличие на околовръстен път. Може да се прилага на Бул. България, Бул. Ал. Пушкин (след ремонта) и др. Препоръчителна е ниска концентрация на пешеходци по трасето, както и скрили се зад храстите бели опели.
Софийска Община Ви пожелава на Добър Път!!!
Вариант 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
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)
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/
http://blog.taragana.com/index.php/archive/calculate-pi-to-arbitrary-precision-sample-java-code/
сряда, 13 август 2008 г.
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
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);
}
}
сряда, 6 август 2008 г.
вторник, 5 август 2008 г.
Java is Everywhere
Малко промиване на мозъци:
"java everywhere"
The next video is not suitable for people under 18,
people with weak nerves!
"sun microsystems"
"java everywhere"
The next video is not suitable for people under 18,
people with weak nerves!
"sun microsystems"
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 управляван от Пугачев
Става дума за екстремната маневреност на фамилията Су-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
Мисля, че тази песен описва настроението ми тази сутрин:)
Избрах изпълнението на Нора вместо оригиналното на 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 (може би най-изчистения от аеродинамична гледна точка изтребител в света)

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