sobota, sierpnia 24, 2013
piątek, sierpnia 23, 2013
20 procent
O ile w Sejmie Gowina popiera ze 2%, to wśród szeregowych członków aż 20%. Co to oznacza? Że Tusk nie rozumie dołów, establishment u władzy rozmija się z regionami. 20% to wygrana Gowina, nikt chyba nie spodziewał się poparcia na takim poziomie. Tusk zobaczył, że za Gowinem jest sporo więcej ludzi niż pojedyncze niedobitki i nie da się go tak łatwo usunąć z PO, bez strat dla partii.
środa, sierpnia 21, 2013
wtorek, sierpnia 20, 2013
Telefonia komórkowa nad morzem
W praktyce należałoby mieć komórkę dual-sim (Play + roaming, T-Mobile). W wielu miejscach brakuje zasięgu bądź liczba turystów przekracza pojemność BSS (wymiarowanie robi się w cyklach półrocznych i jeśli decyzje podejmuje się patrząc na średnie długoterminowe a nie piki to turyści na tym ucierpią). Stacje bazowe ulokowane są często przy radiolatarniach. HSPA różowych odłącza klienta po ok. 100MB. Przy swapach sieci nowy sprzęt musi dobrze obsługiwać 3.5G a starsze standardy może tak sobie, więc realne pokrycie 2G może maleć w kolejnych latach.
Starter T-Mobile trzeba przycinać nożyczkami, żeby sim zmieścił się w S3.
Odcienie szarości
Karą jaką ponosi mędrzec odrzucający uczestnictwo w rządach, to życie pod rządami gorszych od siebie - Platon [sentencja z opakowania cukru].
Monika Olejnik [przepytując jednokrotnego posła]: Panie profesorze, po co to panu było?
Prof. Paweł Śpiewak: Nie wiem. Naprawdę nie wiem.
czwartek, sierpnia 15, 2013
XML digest in a few lines
new com.sun.org.apache.xml.internal.security.c14n.implementations.Canonicalizer11_OmitComments();
java.security.MessageDigest md = java.security.MessageDigest.getInstance("SHA1");
md.reset();
md.update(c.engineCanonicalize(xml.getBytes()));
StringBuilder sb = new StringBuilder();
for (byte b : md.digest())
sb.append( String.format("%02x", b) );
digest = sb.toString();
wtorek, sierpnia 13, 2013
Tibco EMS is a real Enterprise solution
EMS was tested using locally installed Oracle 12c database as a db storage and local GFS2 volume replicated over DRBD to another node - used as a file storage. Test were performed from host of passive node against active node with TCP/IP packet Round Trip Time 0.1/3ms and 0/10ms for DRBD inter-DC setup.
![]() |
| Test results resemble 0-1 digital signal what can be explained by allocation of new extents for Oracle DB tablespace. |
![]() |
| Added RTT 3ms doesn't have visible influence on results so it can be understood that DB operations are major time component. |
![]() |
| Visible jitter can be explained as internal overhead of GFS2. |
![]() |
| Visible outlier is a result of changing RTT to default (0.1/0.1 ms) and then back to 3 / 10 ms. |
![]() |
| EMS FS results can be improved via tuning deadline I/O scheduler and disabling storage flushes and barriers (FBWC has a battery!). |
![]() |
| HornetQ 2.3 results have hardly visible sin^2 trend - probably thanks to JNI and kernel AIO. |
![]() |
| Results may contain "grow and cut" GC pattern. |
![]() |
| HornetQ results heavily depend on network performance so there is a room for ACK protocol optimization. |
poniedziałek, sierpnia 12, 2013
Ciekawe aranżacje mieszkania
![]() |
| Różne wysokości modułów pozwalają zerwać z monolityczną formą i wizualnie uatrakcyjnić kuchnię. |
![]() |
| Szklane panele do kuchni. Ładny obrazek pokryty hartowanym szkłem jest łatwy w utrzymaniu czystości. |
![]() |
| Barowy stołek to małe miejsce dowodzenia - blisko do zlewu, szuflad, górnych szafek a do tego spora i wygodna powierzchnia blatu - tu można pokroić warzywa i zrobić pierogi. |
![]() |
| Rysunek na panelu kuchennym bardzo dobrze współgra z blatem i zlewozmywakiem. |
![]() |
| Najczęściej używane w kuchni są kubki i szklanki - mogą najzwyczajniej w świecie stać na wierzchu, a nie zamknięte w szafce. |
![]() |
| Nowoczesne meble bez oddzielnych uchwytów szafek i z matowym szkłem. Biały zlew sprawia wrażenie ekskluzywności - to nie jest zwykła kuchnia. Okap jest jednak zbyt rozbudowany, a przez to toporny. |
![]() |
| Poziome przetłoczenia na meblach sprawiają wrażenie uporządkowania. |
![]() |
| Piekarnik wcale nie musi być ulokowany w pionowym słupku sięgającym sufitu. Tutaj ucięcie mebli może stanowić funkcjonalną półkę. |
![]() |
| Sympatyczna łazienka dla młodych duchem z ciekawym lustrem-szafką oraz funkcjonalną szufladą pod umywalką. |
![]() |
| Maksymalne wykorzystanie powierzchni łazienki. Żółty pomarańczowy otula a zielony trochę ożywia. |
![]() |
| Panel podłogowy Classen Dąb Hartley i blat piaskowiec - są w podobnej tonacji kolorystycznej, dzięki czemu salon i aneks kuchenny mają szansę stanowić subtelną harmonijną całość. |
![]() |
| Płyta kuchenna z cytryną pasuje do blatu udającego piaskowiec - połączenie ma być delikatne. |
piątek, sierpnia 02, 2013
Tweaked DRBD
startup {
become-primary-on both;
}
net {
protocol C;
allow-two-primaries yes;
verify-alg sha1;
data-integrity-alg sha1;
csums-alg md5;
connect-int 20;
ping-int 15;
timeout 100;
cram-hmac-alg sha1;
shared-secret passw0rd;
max-buffers 8000;
max-epoch-size 8000;
after-sb-0pri discard-zero-changes;
after-sb-1pri consensus;
after-sb-2pri disconnect;
}
disk {
on-io-error pass_on;
fencing dont-care;
al-extents 6000;
}
...
}
scheduler = deadline, front_merges = 0, read_expire = 150, write_expire = 1500
środa, lipca 31, 2013
No protocol specified, Could not initialize class sun.awt.X11.XToolkit [Oracle install via VNC]
wtorek, lipca 30, 2013
Simulate long distance data center connection
[root@eai-node-01 ~]# ping eai-node-02.local
PING eai-node-02.local (192.168.100.202) 56(84) bytes of data.
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=1 ttl=64 time=14.5 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=2 ttl=64 time=11.6 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=3 ttl=64 time=9.37 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=4 ttl=64 time=14.5 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=5 ttl=64 time=14.8 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=6 ttl=64 time=14.0 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=7 ttl=64 time=13.9 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=8 ttl=64 time=11.7 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=9 ttl=64 time=11.3 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=10 ttl=64 time=10.1 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=11 ttl=64 time=7.36 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=12 ttl=64 time=6.50 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=13 ttl=64 time=7.04 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=14 ttl=64 time=9.13 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=15 ttl=64 time=14.0 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=16 ttl=64 time=9.01 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=17 ttl=64 time=6.72 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=18 ttl=64 time=9.01 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=19 ttl=64 time=9.53 ms
^C
--- eai-node-02.local ping statistics ---
53 packets transmitted, 53 received, 0% packet loss, time 52133ms
rtt min/avg/max/mdev = 5.188/10.388/14.837/2.724 ms
[root@eai-node-01 ~]# tc qdisc del root dev bond0
[root@eai-node-01 ~]# tc qdisc
qdisc mq 0: dev eth0 root
qdisc mq 0: dev eth1 root
[root@eai-node-01 ~]# ping eai-node-02.local
PING eai-node-02.local (192.168.100.202) 56(84) bytes of data.
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=1 ttl=64 time=0.161 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=2 ttl=64 time=0.172 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=3 ttl=64 time=0.139 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=4 ttl=64 time=0.145 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=5 ttl=64 time=0.162 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=6 ttl=64 time=0.133 ms
^C
--- eai-node-02.local ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5983ms
rtt min/avg/max/mdev = 0.133/0.152/0.172/0.013 ms
[root@eai-node-01 ~]# tc qdisc add dev bond0 root netem loss 30% 25%
[root@eai-node-01 ~]# ping eai-node-02.local
PING eai-node-02.local (192.168.100.202) 56(84) bytes of data.
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=1 ttl=64 time=0.157 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=2 ttl=64 time=0.138 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=3 ttl=64 time=0.204 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=4 ttl=64 time=0.174 ms
[root@eai-node-01 ~]# tc qdisc del root dev bond0
[root@eai-node-01 ~]# tc qdisc add dev bond0 root netem delay 10ms reorder 25% 50%
[root@eai-node-01 ~]# ping eai-node-02.local
PING eai-node-02.local (192.168.100.202) 56(84) bytes of data.
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=1 ttl=64 time=10.2 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=2 ttl=64 time=10.2 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=3 ttl=64 time=0.153 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=4 ttl=64 time=10.1 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=5 ttl=64 time=7.88 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=6 ttl=64 time=10.1 ms
64 bytes from eai-node-02.local (192.168.100.202): icmp_seq=7 ttl=64 time=10.2 ms
[root@eai-node-02 ~]# modprobe ifb
[root@eai-node-02 ~]# ip link set dev ifb0 up
[root@eai-node-02 ~]# tc qdisc add dev bond0 ingress
[root@eai-node-02 ~]# tc filter add dev bond0 parent ffff: protocol ip u32 match ip dport 7789 0xffff flowid 1:1 action mirred egress redirect dev ifb0
Action 4 device ifb0 ifindex 5
[root@eai-node-02 ~]# tc qdisc add dev ifb0 root netem delay 7ms
poniedziałek, lipca 29, 2013
Jak na RHEL6 zainstalować Btrfs od Oracle-a
#[root@eai-node-02 /]# wget https://public-yum.oracle.com/public-yum-ol6.repo
#[root@eai-node-02 yum.repos.d]# yum --nogpgcheck --disablerepo=* --enablerepo=ol6_UEK_latest install kernel-uek
#[root@eai-node-02 yum.repos.d]# yum --nogpgcheck --disablerepo=* --enablerepo=ol6_UEK_latest install btrfs-progs
piątek, lipca 19, 2013
Skuteczny monitoring EAI
- logi błędów przetwarzane są automatycznie i na ich podstawie generowane są alerty (mail, sms)
- alert zawiera link do dokumentacji komponentowej (jeśli w bazie reguł nie ma poprawnego linku, problem 'za karę' obsługuje przełożony utrzymania)
- dokumentacja komponentowa to jeden dokument MS Word/Open Document, w którym można zrobić Ctrl+F po znaczącej frazie z alertu i w ten sposób zobaczyć znane problemy i obejścia
- dokumentacja komponentowa zawiera miesięczny grafik wsparcia: osoba obsługująca + osoba zapasowa (jeśli wpisy nie są poprawne, problem 'za karę' obsługuje przełożony utrzymania)
- monitoring i wsparcie powinno opierać się na wyuczonych, ustandaryzowanych, procesowych procedurach postępowania

























































