Tuesday, November 30, 2010

How to see Ubuntu name version


lsb_release -a

PROBLEM bad argument for IP_MULTICAST_IF: address not bound to any interface (SOLVED)

PROBLEM
 
Caused by: java.lang.RuntimeException: Cannot initialize the Channel needed for the RPCServiceImpl
at org.exoplatform.services.rpc.impl.RPCServiceImpl.start(RPCServiceImpl.java:714) ~[exo.kernel.component.common-2.3.0-CR1-SNAPSHOT.jar:2.3.0-CR1-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_19]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_19]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_19]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_19]
at org.picocontainer.defaults.LifecycleVisitor.traverse(LifecycleVisitor.java:75) ~[picocontainer-1.1.jar:1.1]
... 35 common frames omitted
Caused by: org.jgroups.ChannelException: failed to start protocol stack
at org.jgroups.JChannel.startStack(JChannel.java:1617) ~[jgroups-2.6.13.GA.jar:2.6.13.GA]
at org.jgroups.JChannel.connect(JChannel.java:366) ~[jgroups-2.6.13.GA.jar:2.6.13.GA]
at org.exoplatform.services.rpc.impl.RPCServiceImpl$3.run(RPCServiceImpl.java:704) ~[exo.kernel.component.common-2.3.0-CR1-SNAPSHOT.jar:2.3.0-CR1-SNAPSHOT]
at org.exoplatform.services.rpc.impl.RPCServiceImpl$3.run(RPCServiceImpl.java:698) ~[exo.kernel.component.common-2.3.0-CR1-SNAPSHOT.jar:2.3.0-CR1-SNAPSHOT]
at java.security.AccessController.doPrivileged(Native Method) [na:1.6.0_19]
at org.exoplatform.services.rpc.impl.RPCServiceImpl.start(RPCServiceImpl.java:697) ~[exo.kernel.component.common-2.3.0-CR1-SNAPSHOT.jar:2.3.0-CR1-SNAPSHOT]
... 40 common frames omitted
Caused by: java.lang.Exception: problem creating sockets (bind_addr=alexey-i7-pc/127.0.1.1, mcast_addr=228.10.10.10:45588)
at org.jgroups.protocols.UDP.start(UDP.java:389) ~[jgroups-2.6.13.GA.jar:2.6.13.GA]
at org.jgroups.stack.Configurator.startProtocolStack(Configurator.java:121) ~[jgroups-2.6.13.GA.jar:2.6.13.GA]
at org.jgroups.stack.ProtocolStack.startStack(ProtocolStack.java:402) ~[jgroups-2.6.13.GA.jar:2.6.13.GA]
at org.jgroups.JChannel.startStack(JChannel.java:1614) ~[jgroups-2.6.13.GA.jar:2.6.13.GA]
... 45 common frames omitted
Caused by: java.net.SocketException: bad argument for IP_MULTICAST_IF: address not bound to any interface
at java.net.PlainDatagramSocketImpl.socketSetOption(Native Method) ~[na:1.6.0_19]
at java.net.PlainDatagramSocketImpl.setOption(PlainDatagramSocketImpl.java:299) ~[na:1.6.0_19]
at java.net.MulticastSocket.setInterface(MulticastSocket.java:424) ~[na:1.6.0_19]
at org.jgroups.protocols.UDP.createSockets(UDP.java:527) ~[jgroups-2.6.13.GA.jar:2.6.13.GA]
at org.jgroups.protocols.UDP.start(UDP.java:385) ~[jgroups-2.6.13.GA.jar:2.6.13.GA]
... 48 common frames omitted



SOLUTION
to add jgroups-*jar

Monday, November 29, 2010

Sony HDR-CX110E Black post 1 - overview



Купил себе видеокамеру Sony HDR-CX110E Black в Технотрейде

Как оказалось стоит на 100 грн. дороже чем на сайте написано. 4395 грн. + бесплатная доставка.
Кредиткой только в Киевском офисе можно оплатить.



На розетке чуть дороже (на 100 грн и без сумки), но нету в наличии, хотя пару недель назад чёрные были, да и синие вчера разобрали. Популярная, однако, модель.


Как выяснилось из чата что
1. без гарантии камеры закончились (это мега лол)
2. есть подарок - фильтр


Но при звонке менеджерам выяснилось, что камера и так уже идёт с акцией - сумкой, поэтому фильтр не поставляется с ней. Предложили поменять акцию "сумку" на акцию "фильтр", но я конечно выбрал сумку.

Заказ через сайт не работает.
Заказал по телефону, через два дня приехала в Черкассы доставкой Нова пошта.
Заплатил деньги при получении и проверки товара. Всё ок!

Поехал в компьютерный магазин Брейн, купил флешку на 16 гиг 10-го класса, так как в комплекте нет флешки, а собственной памяти в камере нет.
Это хватит на 3 часа в формате HD HQ или чуть больше часа в самом лучшем качестве.

Теперь доволен как слон :)




Спасибо интернету rosetka за выбор и комментарии, магазину "Кишеня" на мытнице за то что дали её в руках покрутить и посмотреть качество съёмки на телеке, моей жене за одобрение покупки :) !

Техническая спецификация

Отдельное большое спасибо tiburon827 за консультацию!


Три дня на побег

Советую всем посмотреть. Очень хороший фильм!


Saturday, November 27, 2010

nokia qik

http://qik.com/zavizionov

Simple servlet to print parameters and attributes, headers and cookies


public class MyServlet extends GenericServlet
{

public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException
{
System.out.println("\n\n >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
System.out.println(">>> alexey: MyServlet.service 1 = " + 1);

HttpServletRequest hReq = (HttpServletRequest)req;
HttpServletResponse hRes = (HttpServletResponse)res;

printParsAndAttrs(hReq);
printHeaders(hReq);
printCookies(hReq);

}

private void printParsAndAttrs(ServletRequest req)
{
Enumeration parameterNames = req.getParameterNames();
while (parameterNames.hasMoreElements())
{
String name = (String)parameterNames.nextElement();
System.out.println(">>> alexey: MyServlet.logParsAndAttrs P name = " + name);
System.out.println(">>> alexey: MyServlet.logParsAndAttrs = " + req.getParameter(name));
}
Enumeration attributeNames = req.getAttributeNames();
while (attributeNames.hasMoreElements())
{
String name = (String)attributeNames.nextElement();
System.out.println(">>> alexey: MyServlet.logParsAndAttrs A name = " + name);
System.out.println(">>> alexey: MyServlet.logParsAndAttrs = " + req.getAttribute(name));
}
}

private void printHeaders(HttpServletRequest hReq)
{
Enumeration headerNames = hReq.getHeaderNames();
if (headerNames != null)
{
while (headerNames.hasMoreElements())
{
String name = (String)headerNames.nextElement();
System.out.println(">>> alexey: MyServlet.printHeaders H name = " + name);
System.out.println(">>> alexey: MyServlet.printHeaders = " + hReq.getHeader(name));
}
}
}

private void printCookies(HttpServletRequest hReq)
{
Cookie[] cookies = hReq.getCookies();
if (cookies != null)
{
for (Cookie cookie : cookies)
{
System.out.println(">>> alexey: MyServlet.printCookies C name = " + cookie.getName());
System.out.println(">>> alexey: MyServlet.printCookies = " + cookie.getValue());
}
}
}

}


Convert the byte to hex format


public static void main(String[] args)
{
String toHash =
"expire=1290777974mid=2865745secret=blablasid=1fa2773cd5451a627ebe63a6b3f1341b14ab7c5e866b01d808fee30ba2uQpzRxC856eUH5N8viXt";

MessageDigest md = null;
try
{
md = MessageDigest.getInstance("MD5");
}
catch (NoSuchAlgorithmException e)
{
e.printStackTrace();
}

byte[] mdbytes = md.digest(toHash.getBytes());

long currentTimeMillis = System.currentTimeMillis();
for (int k = 0; k < 10000; k++)
{
//convert the byte to hex format method 1
StringBuffer sb2 = new StringBuffer();
for (int i = 0; i < mdbytes.length; i++)
{
sb2.append(Integer.toString((mdbytes[i] & 0xff) + 0x100, 16).substring(1));
}
String string = sb2.toString();
// System.out.println("Digest(in hex format) 1 :: " + sb2.toString());
}
currentTimeMillis = System.currentTimeMillis() - currentTimeMillis;
System.out.println(">>> alexey: .main currentTimeMillis = " + currentTimeMillis);

currentTimeMillis = System.currentTimeMillis();
for (int k = 0; k < 10000; k++)
{
//convert the byte to hex format method 2
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < mdbytes.length; i++)
{
String hex = Integer.toHexString(0xff & mdbytes[i]);
if (hex.length() == 1)
hexString.append('0');
hexString.append(hex);
}
String string = hexString.toString();
// System.out.println("Digest(in hex format) 2 :: " + hexString.toString());
}
currentTimeMillis = System.currentTimeMillis() - currentTimeMillis;
System.out.println(">>> alexey: .main currentTimeMillis = " + currentTimeMillis);
}




The result is
>>> alexey: .main currentTimeMillis = 223
>>> alexey: .main currentTimeMillis = 76

Friday, November 26, 2010

Download Firefox 3.5

http://www.mozilla.com/en-US/firefox/all-older.html

Monday, November 22, 2010

Adobe Flash Player 64-bit Linux

Download

For a Linux OS 64-bit
unpack it with replace to the /usr/lib/mozilla/plugins

Friday, November 19, 2010

код в блог




Tuesday, November 16, 2010

eXo Files

The old files located at http://download.forge.objectweb.org/exoplatform

Monday, November 15, 2010

dir-320 Kamikadze :)

Поставил себе из исходников KAMIKAZE (bleeding edge, r23891)
из транка
svn://svn.openwrt.org/openwrt/trunk
Пока полёт нормальный, яхуууу, посмотрим на работу wifi.

Т.к. с Backfire 10.03 r.22828 (svn://svn.openwrt.org/openwrt/branches/backfire) работал нестабильно wifi(через несколько минут/часов отрубался, помогала только перезагрузка).
Да, кстати, с Камикадзе драйвер wl для wifi у меня не работал :(
Я его устанавливал не в прошивку, а потом с репозитория локального. Wifi не поднялся с ним.


Конфиги:
=================================

root@zav:~# cat /etc/config/firewall

config 'defaults'
option 'syn_flood' '1'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'

config 'zone'
option 'name' 'lan'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'

config 'zone'
option 'name' 'wan'
option 'input' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option 'masq' '1'
option 'mtu_fix' '1'

config 'forwarding'
option 'src' 'lan'
option 'dest' 'wan'

config 'rule'
option 'src' 'wan'
option 'proto' 'udp'
option 'dest_port' '68'
option 'target' 'ACCEPT'
option 'family' 'ipv4'

config 'rule'
option 'src' 'wan'
option 'proto' 'icmp'
option 'icmp_type' 'echo-request'
option 'target' 'ACCEPT'

config 'redirect'
option 'src' 'wan'
option 'src_dport' '80'
option 'dest' 'lan'
option 'dest_ip' '192.168.0.123'
option 'dest_port' '8080'
option 'proto' 'tcp'

config 'include'
option 'path' '/etc/firewall.user'

#config 'redirect'
# option 'src' 'wan'
# option 'proto' 'tcp'
# option 'src_dport' '8888'
# option 'dest_ip' '192.168.0.1'
# option 'dest_port' '8888'

=================================

Вот оригинальный:

=================================

root@zav:~# cat /etc/config/firewall
config defaults
option syn_flood 1
option input ACCEPT
option output ACCEPT
option forward REJECT
# Uncomment this line to disable ipv6 rules
# option disable_ipv6 1

config zone
option name lan
option input ACCEPT
option output ACCEPT
option forward REJECT

config zone
option name wan
option input REJECT
option output ACCEPT
option forward REJECT
option masq 1
option mtu_fix 1

config forwarding
option src lan
option dest wan

# We need to accept udp packets on port 68,
# see https://dev.openwrt.org/ticket/4108
config rule
option src wan
option proto udp
option dest_port 68
option target ACCEPT
option family ipv4

#Allow ping
config rule
option src wan
option proto icmp
option icmp_type echo-request
option target ACCEPT

# include a file with users custom iptables rules
config include
option path /etc/firewall.user


### EXAMPLE CONFIG SECTIONS
# do not allow a specific ip to access wan
#config rule
# option src lan
# option src_ip 192.168.45.2
# option dest wan
# option proto tcp
# option target REJECT

# block a specific mac on wan
#config rule
# option dest wan
# option src_mac 00:11:22:33:44:66
# option target REJECT

# block incoming ICMP traffic on a zone
#config rule
# option src lan
# option proto ICMP
# option target DROP

# port redirect port coming in on wan to lan
#config redirect
# option src wan
# option src_dport 80
# option dest lan
# option dest_ip 192.168.16.235
# option dest_port 80
# option proto tcp


### FULL CONFIG SECTIONS
#config rule
# option src lan
# option src_ip 192.168.45.2
# option src_mac 00:11:22:33:44:55
# option src_port 80
# option dest wan
# option dest_ip 194.25.2.129
# option dest_port 120
# option proto tcp
# option target REJECT

#config redirect
# option src lan
# option src_ip 192.168.45.2
# option src_mac 00:11:22:33:44:55
# option src_port 1024
# option src_dport 80
# option dest_ip 194.25.2.129
# option dest_port 120
# option proto tcp


=================================


=================================

root@zav:~# cat /etc/config/fstab

config 'global' 'automount'
option 'from_fstab' '1'
option 'anon_mount' '1'

config 'global' 'autoswap'
option 'from_fstab' '1'
option 'anon_swap' '0'

config 'mount'
option 'target' '/'
option 'device' '/dev/sda1'
option 'fstype' 'ext3'
option 'options' 'rw,sync'
option 'enabled_fsck' '0'
option 'enabled' '1'
option 'is_rootfs' '1'

config 'mount'
option 'target' '/home'
option 'device' '/dev/sda2'
option 'fstype' 'ext3'
option 'options' 'rw,sync'
option 'enabled_fsck' '0'
option 'enabled' '1'

config 'swap'
option 'device' '/dev/sda3'
option 'enabled' '1'


=================================

=================================

root@zav:~# cat /etc/config/network

config 'switch' 'eth0'
option 'enable' '1'

config 'switch_vlan' 'eth0_0'
option 'device' 'eth0'
option 'vlan' '0'
option 'ports' '1 2 3 4 5'

config 'switch_vlan' 'eth0_1'
option 'device' 'eth0'
option 'vlan' '1'
option 'ports' '0 5'

config 'interface' 'loopback'
option 'ifname' 'lo'
option 'proto' 'static'
option 'ipaddr' '127.0.0.1'
option 'netmask' '255.0.0.0'

config 'interface' 'lan'
option 'type' 'bridge'
option 'ifname' 'eth0.0'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'ipaddr' '192.168.0.1'

config 'interface' 'wan'
option 'ifname' 'eth0.1'
option 'proto' 'pppoe'
option 'macaddr' '00:90:4c:c0:00:00'
option 'username' 'bla-bla-bla'
option 'password' 'bla-bla-bla'
option 'defaultroute' '1'
option 'ppp_redial' 'demand'


=================================

=================================

root@zav:~# cat /etc/config/wireless

config 'wifi-device' 'radio0'
option 'type' 'mac80211'
option 'macaddr' '00:90:4c:c0:00:00'
option 'channel' '01'
option 'disabled' '0'

config 'wifi-iface'
option 'device' 'radio0'
option 'network' 'lan'
option 'mode' 'ap'
option 'hidden' '0'
option 'isolate' '0'
option 'bgscan' '0'
option 'wds' '0'
option 'macfilter' 'none'
option 'ssid' 'ZAV'
option 'encryption' 'psk2'
option 'key' 'bla-bla-bla'


=================================

=================================

root@zav:~# cat /etc/config/timezone

config 'timezone'
option 'posixtz' 'EET-2EEST,M3.5.0/3,M10.5.0/4'
option 'zoneinfo' 'Europe/Kiev'


=================================


=================================

root@zav:~# cat /etc/config/updatedd

config 'updatedd'
option 'update' '1'
option 'service' 'dyndns'
option 'username' 'zavizionov'
option 'password' 'bla-bla-bla'
option 'host' '10100.dyndns.org'

=================================

Ubuntu 10.10 прошивка dir-320

Сначала устанавливаем недостающие пакеты:
sudo apt-get install build-essential gcc libncurses5-dev ncurses-term zlib1g-dev gawk flex vsftpd
Потом ставим как написано тут:
http://habrahabr.ru/blogs/linux/102547/

Только в качестве ftp сервера я использовал vsftpd
Как использовать написано тут:

Если не получается перепрошить dir-320 смотрите тут:

dir-320 некоторые прошивки

Официальные
http://ftp.dlink.ru/pub/Router/DIR-320/Firmware/

eko
http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads/others/eko/
V24-K26


WL500gpv2-1.9.2.7-rtn-r2196M-for-UVC-camera.trx
Обе мои бюджетные камеры фирмы A4tech не подключились и не показались через веб сервис этой прошивки. С прошивкой OpenWRT Backfire обе камеры работали

Ubuntu FTP server

sudo apt-get install vsftpd
gksu gedit /etc/vsftpd.conf
sudo restart vsftpd
sudo usermod -d /home/alexey/Desktop/dir-320/kamikadze/svn-kamikaze-trunk/bin ftp
sudo restart vsftpd

https://help.ubuntu.com/10.10/serverguide/C/ftp-server.html

Sunday, November 14, 2010

Как перепрошить dir-320

В первый раз у меня получилось легко прошить роутер с оригинальной до новой trx OpenWRT Backfire, но потом столкнулся с трудностью что не могу попасть на роутер в первые секунды старта для ещё одной перешивки trx OpenWRT Kamikadze. Т.е. он вообще не пингуется секунд 10.
Я нашёл очень хорошее, а главное работающее решение!

1. Скачиваете прошивку с сайта [1] или собранную вручную .trx [2], [3], [4]
2. Выставляете на компьютере статический адрес (например 192.168.0.10)
Лучше подключиться к роутеру dir-320 через свитч,
чтобы не падал интерфейс при выключении питания.
Если шить через Windows есть решение
REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "DisableDHCPMediaSense"=dword:00000001
3. Запустить три консоли для загрузки прошивки с командой
atftp --no-source-port-checking -p -l firmware.bin 192.168.0.1
но Enter не нажимать!
Для Windows ищите батник [5]
4. На выключенном роутере нажать ресет кнопку и держать.
5. Включить питание и держать кнопку ресет секунд 20
6. Отпустить ресет.
7. Попробуйте быстренько пингануть, он должен отзываться с ttl=100 (пинг пусть продолжается) Если не получилось, то попробуйте сделать ресет 30/30/30
8. Резко выдернуть питание и всунуть обратно. (это самая важная часть!)
9. Пинг должен продолжаться (!) (пункт 7).
10. Быстро нажать Enter для запуска команд прошивки в трёх ранее открытых консолях (пункт 3)
(этот пункт должен быть запущен мгновенно после пункта 8)

Для дополнительной информации смотрите [6], [7]

Как запустить консоль восстановления на dir-320

1. Нажать ресет кнопку и держать
2. Включить питание
3. Подождать пока начнёт мигать индикатор подключённого LAN порта (около 15 секунд)
4. Отпустить ресет.
5. Прописать статический адрес на компьютере. (например 192.168.0.10)
6. Зайти на адрес http://192.168.0.1

Загрузить прошивку. (загружаются только .bin, другие прошивки .trx не загружаются, даже не пытайтесь переименовывать)

Как скопировать образ флешки а потом его восстановить

Скопировать:
sudo dd if=/dev/sdb of=./backup bs=64k
Восстановить:
sudo dd if=./backup of=/dev/sdb bs=64k

Friday, November 5, 2010

GIT vs SVN

GIT сложнее в использовании чем SVN
но при большом количестве разработчиков и выпускаемых патчей думаю будет эффективней.

Thursday, November 4, 2010

Create diff from source and patch the target

Create diff from source:

svn di > JIRAID.patch

Patch the target

patch -p0 < JIRAID.patch


UPDATE:

Как создать патч с бинарными файлами:
svn diff --force --diff-cmd /usr/bin/diff -x "-au --binary" > JCR-1487_for_1.10.x.patch

Как применить такой файл:
patch -p0 --binary -i JCR-1487_for_1.10.x.patch

thanks to Alex Reshetnyak

Tuesday, November 2, 2010

Сцуко Ubuntu 10.10

Новая операционка - новый гемор. И почему так всё?

Одна из новейших фишек - это снос графического интерфейса на дефолтно-палеозойский при удалении раскладки клавиатуры.

Вот у меня было три раскладки, и я решил удалить одну, причём она была в тот момент в активном состоянии..... и БАх на тебе двести... графический интерфейс ушёл к динозаврам. Не, ну не ппц это?