середу, 29 жовтня 2008 р.

Огляд Safari 3.0.1

Встановив на днях браузер Safari від Apple. Погрався, поколупався, вичислив для себе плюси і недоліки.


ПеревагиНедоліки
  • швидкість роботи на висоті;
  • Дуже, ДУЖЕ, гарні спливаючі вікна - я про анімаційне оформлення, я вражений;
  • налаштування застосовуються миттєво (нема "Ok/Cancel");
  • гарно підібрані шрифти;
  • дещо вища швидкодія при роботі з javascript у порівнянні з Mozilla Firefox 3.0.3;
  • відсутність улюблених плагінів Firefox;
  • неактивне вікно світлішає, тоді як на мій смак воно повинно темнішати;
  • незвично що таб закривається з лівої сторони, а не з правої;
  • іноді некоректно працює при вставці тексту в табличку в Google Documents (я маю на увазі при редагуванні текстового документу);


P.S. Мене всеодно тягне весь час на Firefox, в ньому, все-таки щось є.

середу, 22 жовтня 2008 р.

Gmail not only on @gmail.com

Мабуть це мало для кого новина, що Gmail зараз це не тільки скриньки *@gmail.com, але й багато інших. Компанії просто купляють (чи беруть безкоштовно?) у Google сервіс і виставляють як свій. В принципі вони не приховують що це є не їхній власний сервіс, але сам факт експансії видно добре.
Наткнувся я на такий сервіс як search.ua, який:
  • використовує для пошуку Google;
  • пропонує Gmail, Google Calendar, Google Docs і може й ще щось інше.
Крім того я чув раніше, а оце й сам пересвідчився, що пошта від bigmir.net також працює на базі Gmail! Взагалі досить легко визначити чи це Gmail чи ні - досить в інформації про пошту знайти рядок, схожий на наступний:
7261.120844 мегабайт места для Вашей корреспонденции (и это не предел!);
Якщо він є - то значить це пошта від Google там бігає :-)

понеділок, 20 жовтня 2008 р.

Інтернет у Поштампті на Хрещатику

Нещодавно по нужді заходив покористуватися інтернетом в поштампт на Хрещатику. Якість сервісу там абсолютно нульова, особливо зважаючи на ціну. 1 хвилина інтернету - 0,192 грн. Правда це на Хрещатику, тому можна б було простити, аби не одне "але". Спочатку касирша дала мені на таксофон номерок, потім коли я зрозумів що мені не те дали - дала на інтернет (там видається номерок кабінки, а в ній - або комп або таксофон). А потім виявилося що вона не розблокувала мені комп'ютер. Це з поганого. Далі - цікаве :-). Народ не виходить із сеансів, збергіає в Internet explorer-і свої паролі, багато чого там є :-). Можна зайти і до когось в Gmail і в Mail.ru скриньки і багато ще куди. В принципі є й розумне пояснення тому факту що народ не вилогінюється: просто коли закінчується час, комп'ютер просто моментально блокується. І ніякого шансу вийти з сеансу немає :-). А, ще згадав - від кабінки мені дали ключ, то дуже хотілося піти звідти з тим ключем, цікаво що б вони робили? :-)

середу, 15 жовтня 2008 р.

Огляд OpenOffice.org 3

Нещодавно вийшла нова, вже третя, версія OpenOffice.org. Як тільки до мене дійшла новина, я одразу ж спробував його завантажити до себе на комп'ютер, але в мене нічого не вийшло: сайт http://www.openoffice.org був недоступний. Згодом, на наступний день, сайт знову запрацював — але в ньому прибрали всю графіку і залишили лиш текстові посилання для скачування нової версії під різні ОС. Розробники написали що працюють над проблемою:

Список змін я не читав, бо сайт недоступний, тому вирішив у вільну хвилинку трохи погратися з ним сам, імітуючи звичні свої дії.

  • Редактор формул запускається швидко, працює нормально, здається його слабо міняли: додалася лише панелька маленька по його конфігуруванню (яку я просто в другій версії міг не помітити, або не використовувати):

    На вигляд такий же самий як і був. Швидкість запуску висока, здається її трішки поліпшили.

  • По замовчуванню тепер знову нормальні інтуїтивно зрозумілі значки, на відміну від версії 2.3, де по замовчуванню всі значки на панельках мені особисто були слабо зрозумілі (а особливо B I U).

  • Допомога (F1) стала трішки красивіша.

  • Швидкість роботи взагалі мені здалася приблизно такою ж.

  • Робота з картинками стала більш зручною. Важко сказати в чому це виражається конкретно — просто прибрали неясні глюки (або я просто мало ще працював з картинками) які в основному раніше проявлялися в незрозумілому “зїжджанні” текту і т.д..

  • Робота з таблицями покращилася, тепер можна створювати складні таблиці.
    Раніше для таких хитрих ячейок доводилося робити “таблицю в таблиці” або деякі роздільники в ячейках робити невид
    имими. Можливо я просто не зумів земулювати свою проблему.

  • Експорт в PDF як і раніше на висоті, порівняйте, якщо бажаєте, оригінал і як його експортовано.

  • Діаграми стали трішки красившими, мені так здалося. Взагалі, все стало більш естетично привабливішим.

  • При запуску без жодного документа — тепер пропозиція щось створити:

  • Менеджер додатків перероблено, тепер він став простий як двері, самі ж плагіни ставляться швидко й безпроблемно, ніяких проблем із сумісністю не виявилося (встановлював додатки Ukrainian Dictionary, OOoTypographica і OpenOffice.org2GoogleDocs).
Додам лише одне зауваження, що машина в мене досить потужна, тому слабувату швидкість роботи я міг просто не помітити.

вівторок, 14 жовтня 2008 р.

SETI@HOME in top 20

Я по абсолютному показнику ввійшов в Top 20 обчислювачів в команді UKRAINE.
Ура! :-)
А по середньому показнику - я на 5 місці :-)

четвер, 2 жовтня 2008 р.

Чому не працює Action на KeyEvent.VK_TAB?

Суть проблеми

При спробі навісити на елемент Action що спрацьовує на натиснення Tab або Shift+Tab, Action не спрацьовує.

Причина проблеми


Причина проблеми в тому що AWT по замовчуванню перехоплює всі натиснення Tab або Shift+Tab, щоб перемістити фокус.

Вирішення

Потрібно викликати [Component].setFocusTraversalKeysEnabled(false);
Після цього компонент реагуватиме на Tab або Shift+Tab лише у випадку, коли на ці дії навішений відповідний Action.
Для всіх компонентів

Альтернативний варіант: використати KeyEventDispatcher для перехоплення всіх подій з клавіатури.
Фактично це значить замінити DefaultKeyboardFocusManager на власний.

Альтернативний варіант: змінити клавіші, які переводять фокус:
public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes);

Ресурси

Java Tutorials

http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html
http://java.sun.com/docs/books/tutorial/uiswing/events/keylistener.html
http://java.sun.com/javase/6/docs/api/java/awt/KeyEventDispatcher.html

Java Sun forum

http://forums.sun.com/thread.jspa?messageID=2687174
http://forums.sun.com/thread.jspa?threadID=521328&messageID=2496625

JavaDoc

setFocusTraversalKeysEnabled

public void setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)

Sets whether focus traversal keys are enabled for this Component. Components
for which focus traversal keys are disabled receive key events for focus
traversal keys. Components for which focus traversal keys are enabled do not see
these events; instead, the events are automatically converted to traversal
operations.





Parameters:
focusTraversalKeysEnabled - whether focus traversal keys are
enabled for this Component
Since:
1.4
See Also:
getFocusTraversalKeysEnabled(),
setFocusTraversalKeys(int,
java.util.Set)
, getFocusTraversalKeys(int)


setFocusTraversalKeys


public void setFocusTraversalKeys(int id,
Set<? extends AWTKeyStroke> keystrokes)

Sets the focus traversal keys for a given traversal operation for this
Component.


The default values for a Component's focus traversal keys are
implementation-dependent. Sun recommends that all implementations for a
particular native platform use the same default values. The
recommendations for Windows and Unix are listed below. These
recommendations are used in the Sun AWT implementations.






















Identifier Meaning Default
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS Normal forward keyboard traversal TAB on KEY_PRESSED, CTRL-TAB on KEY_PRESSED
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS Normal reverse keyboard traversal SHIFT-TAB on KEY_PRESSED, CTRL-SHIFT-TAB on KEY_PRESSED
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS Go up one focus traversal cycle none


To disable a traversal key, use an empty Set; Collections.EMPTY_SET is
recommended.


Using the AWTKeyStroke API, client code can specify on which of two
specific KeyEvents, KEY_PRESSED or KEY_RELEASED, the focus traversal
operation will occur. Regardless of which KeyEvent is specified,
however, all KeyEvents related to the focus traversal key, including the
associated KEY_TYPED event, will be consumed, and will not be dispatched
to any Component. It is a runtime error to specify a KEY_TYPED event as
mapping to a focus traversal operation, or to map the same event to
multiple default focus traversal operations.


If a value of null is specified for the Set, this Component inherits the
Set from its parent. If all ancestors of this Component have null
specified for the Set, then the current KeyboardFocusManager's default
Set is used.



Parameters:
id - one of KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
keystrokes - the Set of AWTKeyStroke for the specified operation
Throws:
IllegalArgumentException - if id is not one of
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, or
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or if keystrokes
contains null, or if any Object in keystrokes is not an
AWTKeyStroke, or if any keystroke represents a KEY_TYPED event,
or if any keystroke already maps to another focus traversal
operation for this Component
Since:
1.4
See Also:
getFocusTraversalKeys(int),
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS