After latest Fedora 15 update, Lotus Notes 8.5.2 stoped working

It fails silently. Of course out-of-the-box Lotus Notes has never worked before on Fedora 15, I always hack it like this: http://blog.thegeeknme.com/2011/05/lotus-notes-852-on-fedora-15.html. So actually slightly hacked Lotus Notes 8.5.2 stopped working. Luckily IBM have just forged IBM Lotus Notes V8.5.2 Fix Pack 3, ask you IBM sales person for binaries. I installed it and Lotus Notes merely started. Probably it will now work even without any pre-hacking? I am reluctant to test, really….

Also it has changed fonts on login screen one more time (going to be traditional for LN)

Advertisements

Make Rational Team Concert Client Work on Fedora 15

Problem description

Fedora 15 has Firefox 5 on board and thus some latest XUL runner (on my machine today it is xulrunner-5.0-2.fc15.i686), Rational Team Concert ignores Fedora presence (it supports whatever, including RHEL, but not our lovely cutting-edge distro). That is why it does not simply run on Fedora 15 (it expects xulrunner to be at the same level as in RHEL). There is an example of what happens. (In short: visual indication of the problem is abnormal termination of Rational product when you open Jazz Administration or other Jazz related perspective, in case of standalone RTC client it will be right after startup, in case of RAD or RSA when you switch to the perspective manually).

In fact you may try downgrade XUL but I would never recommend it, since it is very error prone way, especially for YUM-driven Fedora.

Solution

Firstly, I downloaded Firefox 3.6.19 from there (or from here, since 3.6 may be no longer available from Firefox site). Next, I installed it under /usr/lib/firefox-3.6.19. And next I modified launcher for you Rational product (in my case it is Rational Software Architect 8.0.3):
from
/home/alex/IBM/SDP/eclipse -product com.ibm.rational.rsa.product.v80.ide
to
/home/alex/IBM/SDP/eclipse -product com.ibm.rational.rsa.product.v80.ide -vmargs -Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/firefox-3.6.19/

That is it, it works.
NOTE:This solution will help if before you successfully fix the SELinux problem for JRE bundled into Rational product(s), because SELinux arises at earlier stages of Eclipse loading.

How to override default OpenJDK in Fedora with SUN/Oracle JDK

I always did it pretty straight, I installed SUN JDK, I put-in SUN’s “java” executable into PATH variable, “export JAVA_HOME”, I did it usually in some “*.sh” file in to “/etc/profile.d”, and well actually it is not a good place for it. However, Fedora manages mapping between “java” link and real target executable via system of symbolic links (managed via “alternatives” utility). Alas, SUN’s JDK does not “invoke alternatives” to declare its alternatives.
But today I had a time to solve this problem as it must have been solved:
Meet “add-java.sh”:

#!/bin/bash
JAVA_HOME="$1"
JAVA_HOME=`readlink -f "$JAVA_HOME"`
PRIORITY=1000
if [ -n "$2" ]; then
	PRIORITY="$2"
fi
alternatives --verbose --install /usr/bin/java java "${JAVA_HOME}/bin/java" ${PRIORITY} \
	--slave /usr/bin/javaws javaws "${JAVA_HOME}/bin/javaws" \
	--slave /usr/bin/keytool keytool "${JAVA_HOME}/bin/keytool" \
	--slave /usr/bin/orbd orbd "${JAVA_HOME}/bin/orbd" \
	--slave /usr/bin/pack200 pack200 "${JAVA_HOME}/bin/pack200" \
	--slave /usr/bin/rmid rmid "${JAVA_HOME}/bin/rmid" \
	--slave /usr/bin/rmiregistry rmiregistry "${JAVA_HOME}/bin/rmiregistry" \
	--slave /usr/bin/servertool servertool "${JAVA_HOME}/bin/servertool" \
	--slave /usr/bin/tnameserv orbd "${JAVA_HOME}/bin/tnameserv" \
	--slave /usr/bin/unpack200 unpack200 "${JAVA_HOME}/bin/unpack200" \
	--slave /usr/lib/jvm-exports/jre jre_exports "${JAVA_HOME}/jre" \
	--slave /usr/lib/jvm/jre jre "${JAVA_HOME}/jre" \
	--slave /usr/share/man/man1/java.1 java.1 "${JAVA_HOME}/man/man1/java.1" \
	--slave /usr/share/man/man1/javaws.1 javaws.1 "${JAVA_HOME}/man/man1/javaws.1" \
	--slave /usr/share/man/man1/keytool.1 keytool.1 "${JAVA_HOME}/man/man1/keytool.1" \
	--slave /usr/share/man/man1/orbd.1 orbd.1 "${JAVA_HOME}/man/man1/orbd.1" \
	--slave /usr/share/man/man1/pack200.1 pack200.1 "${JAVA_HOME}/man/man1/pack200.1" \
	--slave /usr/share/man/man1/rmid.1 rmid.1 "${JAVA_HOME}/man/man1/rmid.1" \
	--slave /usr/share/man/man1/rmiregistry.1 rmiregistry.1 "${JAVA_HOME}/man/man1/rmiregistry.1" \
	--slave /usr/share/man/man1/servertool.1 servertool.1 "${JAVA_HOME}/man/man1/servertool.1" \
	--slave /usr/share/man/man1/tnameserv.1 tnameserv.1 "${JAVA_HOME}/man/man1/tnameserv.1" \
	--slave /usr/share/man/man1/unpack200.1 unpack200.1 "${JAVA_HOME}/man/man1/unpack200.1"

Run it under root:

./add-java.sh /usr/java/latest

NOTE: /usr/java/latest is what would be JAVA_HOME if you selected “classical” approach.
And now you may run (again as root):

# alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
   2           /usr/java/latest/bin/java

Enter to keep the current selection[+], or type selection number: 

Select 2 and it will result in:

# java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)

If you rerun alternatives --config java and select 1 you will return to the previous configuration:

# java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.7) (fedora-52.1.9.7.fc14-i386)
OpenJDK Server VM (build 19.0-b09, mixed mode)

The advantage is that such a toggle is immediate, you should not relogin to force files from profile.d to run.

How to flash ASUS BIOS if you have Linux installed?

Well,
the issue is that you may not run flash utility from Linux, probably it may be successful, but they do not declare it. So there is several ways:

  • Upgrade from Windows partition
  • Connect floppy with DOS or USB drive with some Live image of Windows and upgrade from there
  • Create bootable Windows or DOS CD, boot and flash from there

I own G51JX series notebook and from factory it has rev. 204 of BIOS. There is no option: “boot from USB stick”, i.e. there is no way for the second option. Sure I killed damned Windows 7 in the first day of ownership, and though I have 5 DVD for restore, my religion does not allow me to restore any Windows partition, so the third option is not for me. Of course there is no floppy nowadays in notebooks 🙂 and even if it was — BIOS size is 2MB+, beyond standard 1.44 floppy.
Thus I decided to follow option 3.

What I did (follow this procedure on YOUR OWN RISK):

  1. Download AFLASH2.exe and BIOS (in my case revision 206) file from ASUS support site
  2. Download bootable MSDOS CD package: Hiren’s Bootable CD
  3. Unzip it somewhere on WIndows machine nearby 🙂 (I used WIndows XP I run on VirtualBox)
  4. Place AFLASH.exe and the BIOS file into the Floppy subdirectory within Hiren’s Bootable CD
  5. Change the line from Build-ISO.cmd file .\Tools\bfi.exe -b=Floppy\boot.dat -f=cd\Floppy.ima Floppy to .\Tools\bfi.exe -t=288 -b=Floppy\boot.dat -f=cd\Floppy.ima Floppy

    This is required because CD is created from floppy image and standard floppy image is 1.44MB and AFLASH2.exe + BIOS + base MS DOS files are above this limit, thus we make floppy image of 2.88MB (which is 3.5 inch floppy of Extended Density, it was very seldom in use even in the golden era of floppies)
  6. Run Build-ISO.cmd (it generates the BootCD.iso file)
  7. Burn the BootCD.iso file on the blank disk
  8. Boot from this media
  9. Select option 1 in menu
  10. It may say that CD ROM is not recognized and so. Ignore it
  11. You should be on virtual floppy A:, then in DOS command prompt type AFLASH2.EXE
  12. In menu of the utility you are obliged to type name of the BIOS file (you may exit the utility and do dir if you cannot remember the file name ). Actually you must follow ASUS instructions from here if your motherboard are to be flashed with different *.EXE
    NOTE: you cannot create backup of you BIOS, there is no writable media visible from MS DOS, you should not interrupt the process

I hope it will turn to be useful.

Please, note that Hiren’s Bootable CD is not fully legal package: it consists of parts of Windows, nobody would sue you, but it would be more cleaner from legal point of view if you overwrite binaries, such as COMMAND.COM with copies from your legal copy of Windows (I hope you have one 🙂 ). Hiren’s Bootable CD has files from Win2K as I can see from ver output.

Как запустить приложение собранное maven и отладить его

На вопрос: “Почему вы не используете maven?”, средний разработчик как-то странно пожимает плечами, затягивая: “Ну понимаете…”
“Понимаю”: причина в том что всё так красиво и простая команда mvn package творит чудеса, но вот когда доходит до того что бы отладить приложение, народ пасует — производителям сред разработки так нужно было посадить программеров на свои среды и отладчики, что они таки добились… того что люди не только боятся коммандной строки — они не знают и не разбираются и не хотят разбираться, как отлаживается приложения запущенные не из под коммандной строки. А ведь всё очень просто запускаем приложение так:
env MAVEN_OPTS="-agentlib:jdwp=transport=dt_socket,address=127.0.0.1:8000" mvn -Dexec.mainClass=zy.alex.uluru.donothingapplication.Main exec:java

Сочувствую если у вас не Linux 🙂 то тогда просто сделайет set для MAVEN_OPTS в cmd.exe
получить вы должны что то вроде этого:

ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
Aborted (core dumped)

это по тому что мы предварительно не запустили локальное приложение, которое будет слушать на порту 8000 и предоставлять среду для отладки

в NetBeans это достигается Debug > Attach Debugger

В Eclipse это достигается Run > Debug Configurations > Remote Java Application

Ну а дальше все просто, стоит только отметить то, что для того что бы поставить break point необходимы исходники, в NetBeans придётся закачать все исходники которые вам необходимы и засунуть в один проект, в этом плане Eclipse значительно удобнее.

Надо бы разобраться как создать сервис в Fedora для Tomcat

Вот нашел.
http://de0ris.blogspot.com/2008/08/installing-tomcat-6x-on-centos-5.html

Но я хочу сделать чере jsvc как советует apache.
Да вот что то получается что через панель управления сервис не управляется…

Siemens Gigaset SL375 и Plantronics Voyager 855, “Код да Винчи” отдыхает

Как и обещал пишу что же кривого в SL375 с Bluetooth.
И так по порядку.
Сопряжение гарнитуры MHB-301 (InterStep) прошло нормально. Но вот что открылось, несмотря на то что кнопка на гарнитуре должна набирать предыдущий номер или поднять трубку одним нажатием, в реальности надо нажимать 4! и 2! раза. Инженеры накосячили по полной программе! Оказаывается когда нажимаешь кнопку на телефон посылается сигнал, по-хорошему телефон сразу должен набирать предыдущий номер. Но нет! Ничего не происходит, или почти ничего, но в гарнитуре раздаётся мелодия входящего звонка! Вы нажимаете кнопку гарнитуры (2-ой раз), и, о чудо!, на экране появляется последний набранный номер, но не набирается 😉 Дальше интереснее! Нажимаем кнопку 3-й раз, и… ничего не происходит но в динамике гарнитуры раздаётся мелодия входящего звонка. Ну конечно же надо нажать кнопку в 4-й раз, что бы принять этот эффемерный звонок, тут-то и случается то самое чудо — телефон начинает набирать номер за что ему и спасибо! Неправда-ли, весьма своеобразная трактовка сигнала “повторить звонок” инженерами Gigaset? Дальше интереснее хотите вы просто поднять трубку перевести гудок на гарнитуру и набрать номер, давайте попробуем: держим зеленую кнопку на телефоне пока не раздасться гудок, нажимаем кнопку гарнитуры… Да-да-да и тут в гарнитуре раздаётся знакомая мелодия вызова — нажимает кнопку еще раз и получаем гудок в гарнитуре, уф… можно набирать номер. 🙂
Вы скажите а может надо было двойным нажатием поднимать трубку и т.п. … Да нет, именно так как я описал — а двойное нажатие в гарнитуре означает голосовой вызов и так как его в телефоне нет то это ни к чему хорошему не приведёт!
Но всё это я узнал после того как разгадал загадку подключения гарнитуры Plantronics Voyager 855 к этой трубке. Поиск устройств, PIN 0000, всё по класике, но ерунда получается телефон никак не реагирует на нажатия кнопок на гарнитуре, хотя оба демонстрируют, что они подключены. Долго мучался, но в конце концов позвонил с мобильного на DECT — ответил на звонок одним нажатием на кнопку и всё… после этого телефон стал реагировать на гарнитуру таким образом как описано сверху…
А так как я сначала подключил 855-ую к SL375, то разгадка этой серии косяков напомнила мне белый и черный криптексы из “Кода да Винчи”, кто тут накосячил Plantronics или Siemens даже затрудняюсь ответить.
XXI век и устройства одаривают нас всё новыми косяками и гораздо более косякастыми косяками…
Если кому поможет сей опус — поставте галочку в коментариях — а если знаете как где и что перешить, то буду премного благодарен!