poniedziałek, października 20, 2008

A ja tam uważam, że Palikot jest OK

sobota, października 11, 2008

Logitech NX-50 i NX-20

Nie ma już w sprzedaży myszek NX-20 (rewelacyjna mała i lekka myszka do laptopa). Są zamiast nich modele NX-50. Rzucająca się w oczy rożnica jest taka, że te nowe nie mają oddzielnych kawałków plastiku na przyciski lewy, prawy. Przez to myszka musi się trochę dotrzeć, żeby mieć takie samo miękkie klikanie jak NX-20. Nową myszką NX-50 nie można już sobie świecić w nocy na czerwono, odkładając wyłączonego laptopa na miejsce - stara była optyczna, nowa jest laserowa.



NX-50 jest czarny, NX-20 srebrny. Ze starym NX-em zdarzał się problem z jeżdżeniem po wypolerowanym drewanianym biurku. Rozwiązaniem było podłożenie kartki A4.

Acer Aspire 5715

Z tym laptopem działa LiveDVD Hackett Linux, a to dzięki temu, że laptop jest jak najbardziej standardowy. Procesor dwurdzeniowy Intela T2370 2x1,73 GHz, 2x512KB cache L2, chipset 965 Express ze zintegrowaną grafiką. Matryca AU Optronics, na oko taka sama jak Quanta Display (jakiś czas temu ta pierwsza firma połączyła się z drugą). W porównaniu z LG Philips kolory są normalne - ładne i soczyste. Na czymś takim można już używać Paint Shop Pro bez zabawy z kolorymetrem.


Przy zimnym włączeniu komputera i nie rozgrzanych świetłówkach widać trochę nierównomierne podświetlenie. Wrażenie być może bardziej rzuca się w oczy z powodu ograniczoych, jak w każdym LCD typu TN, kątów widzenia.


Na zdjęciu tego aż tak nie widać, ale matryca AUO ma lepszą maksymalną jasność i lepsze kolory w porównaniu do LG Philips (ta dodatkowo ma wyregulowany kontrast [0,133 / 48%] i korekcję gamma [ 0,833 / 48%]).




Klawiatura jest biała i "cyka" jak we wszystkich Acerach. Kwestia przyzwyczajenia.
Przyciski u góry klawiatury (włącznik, WiFi, głośność) i lewy port USB mogły by być lepiej spasowane. Mamy jedno USB z prawej strony zaraz na samym początku od strony użytkownika. Z lewej strony są 2 porty USB jeden na drugim. Wsadzanie Kingstona do tego górnego grozi porysowaniem końcówki (co sprawdziłem po fakcie). Tańszym chińskim flashem można dogiąć ten port. Z lewej strony przed portami USB jest S-Video, za nimi jest RJ-45, a na samym końcu gniazdo VGA i wejście na Kensingtona. Równolegle z prawej strony mamy w tym miejscu RJ-11.
Z prawej strony mamy napęd DVD+-RW. Ma on jeszcze 3 cm do portu USB, więc nie przeszkadza w używaniu pendrive'ów. Producentem napędu jest LG. Sprzęt nie czyta plików z rocznych płyt Tesco... (nigdy więcej kupowania płyt razem z kolacją). Sprawdziłem na Acerze 4530 z Vistą i TSST, że z tą samą płytą też jest problem... Ale Acer 3690 też z TSST przeczytał płytę. Gdzie Windows nie może, tam Linuks daje radę.


Laptop nie grzeje się, wentylatorek jest bardzo cichy (bardziej już słychać dysk 160GB Hitachi, ale można mu to wybaczyć, bo jest szybki). Przy jasności ekranu 50% i włączonym WiFi Windows wytrzymuje 2h 50 minut na jednym ładowaniu baterii. Przy maksymalnie przyciemnionej matrycy są to 3 godziny.


Parę słów o głosnikach: Głośniki testuję puszczając z iTunes kawałek Evenascence "Bring me to life". Na idealnych głośnikach słychać wszystkie dźwięki, a przy maksymalnej głośności obudowa nie wpada w rezonans (hard rock rulez). W modelu 5715 zakres dźwięków jest obrobinę gorszy i mniej przestrzenny niż w 4530, ale za to obudowa nie wpada w rezonans. Całkiem prawodopodobne, że w obu modelach są te same głosniki, z tą różnicą, że w 4530 jest nad nimi dziurkowany fragment obudowy i przez to dźwięk się lepiej propaguje.

Parę słów o wydajności: laptop ma 2GB RAM-u, zainstalowany na nim Oracle 11 chodzi przyzwoicie. Pamiętam instalowanie Oracle'a 10 na Asusie A6K z Turionem TL30 -tam było słychać i czuć (co określa się stwierdzeniem "laptop Ci odlatuje"), że baza jest stawiana skryptem, tutaj - nic z tych rzeczy.
Need For Speed 6 w natywnej rozdzielczości 1280x800 chodzi (jeździ) raczej dobrze. Na sterowniku z września 2008 trzeba ustawić 'Memory' na 'high' i zrestartować system, w przeciwnym razie NFS zamiast pobocza będzie miał szare płaszczyzny w miejscu brakujących tekstur, których nie udało załadować się do pamięci.

Tak na dobrą sprawę laptop z dwurdzeniowym Intel Pentium Dual-Core jest w zasadzie wystarczający do wszystkiego, nawet dla programisty. Dlaczego Intel i sprzedawca w pięknym salonie koło Feminy wmawiają nam, że lepiej kupić Core 2 Duo T9300 z 8MB cache'u?
Zamiast coraz szybszego procesora użytkownik końcowy wolałby działającą 12 godzin baterię...

Cena laptopa Acer Aspire 5715 to około 1500 złotych. Do testów dostarczył Reset Kraków.

Update: Pod Linuksem (OpenSUSE 11) działa nawet kamera.



Powertop on linux 2.6.27-rc7 before and after enabling C1 accounting, CPU is AMD Athlon X2 QL60

USB and WiFi drivers were unloaded, every powertop's hint was executed.
And still only 2 hours with almost everything disabled comparing to 3:11h on Vista while browsing Internet.






--- kernels/linux-2.6.27-rc8/drivers/acpi/processor_idle.c 2008-09-30
00:24:02.000000000 +0200
+++ linux/drivers/acpi/processor_idle.c 2008-10-06 00:24:19.000000000 +0200
@@ -501,7 +501,7 @@
* ------
* Invoke the current Cx state to put the processor to sleep.
*/
- if (cx->type == ACPI_STATE_C2 || cx->type == ACPI_STATE_C3) {
+ if (cx->type >= ACPI_STATE_C1) {
current_thread_info()->status &= ~TS_POLLING;
/*
* TS_POLLING-cleared state must be visible before we
@@ -523,12 +523,17 @@
* Use the appropriate idle routine, the one that would
* be used without acpi C-states.
*/
+
+ t1 = jiffies;
+
if (pm_idle_save) {
pm_idle_save(); /* enables IRQs */
} else {
acpi_safe_halt();
local_irq_enable();
}
+
+ t2 = jiffies;

/*
* TBD: Can't get time duration while in C1, as resumes
@@ -538,8 +543,7 @@
* Note: the TSC better not stop in C1, sched_clock() will
* skew otherwise.
*/
- sleep_ticks = 0xFFFFFFFF;
-
+ sleep_ticks = ticks_elapsed(t1, t2);
break;

case ACPI_STATE_C2:
@@ -642,12 +646,13 @@
return;
}
cx->usage++;
- if ((cx->type != ACPI_STATE_C1) && (sleep_ticks > 0))
+ if (sleep_ticks > 0)
cx->time += sleep_ticks;

next_state = pr->power.state;

#ifdef CONFIG_HOTPLUG_CPU
+
/* Don't do promotion/demotion */
if ((cx->type == ACPI_STATE_C1) && (num_online_cpus() > 1) &&
!pr->flags.has_cst && !(acpi_gbl_FADT.flags &
ACPI_FADT_C2_MP_SUPPORTED)) {
@@ -811,8 +816,11 @@
if (!pr)
return -EINVAL;

+ /* Newer dual-core CPUs use C1E instead of C2 and C3 and
+ * usually do not have _CST definitions or PBLK entries.
+ * ACPI specification allows for that so return zero here */
if (!pr->pblk)
- return -ENODEV;
+ return 0;

/* if info is obtained from pblk/fadt, type equals state */
pr->power.states[ACPI_STATE_C2].type = ACPI_STATE_C2;
@@ -852,6 +860,11 @@
pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1;
pr->power.states[ACPI_STATE_C1].valid = 1;
pr->power.states[ACPI_STATE_C1].entry_method =
ACPI_CSTATE_HALT;
+ snprintf(pr->power.states[ACPI_STATE_C1].desc,
ACPI_CX_DESC_LEN, "ACPI HLT");
+ if (!pr->power.states[ACPI_STATE_C1].latency)
+ pr->power.states[ACPI_STATE_C1].latency = 1;
+ if (!pr->power.states[ACPI_STATE_C1].power)
+ pr->power.states[ACPI_STATE_C1].power = 1000;
}
/* the C0 state only exists as a filler in our array */
pr->power.states[ACPI_STATE_C0].valid = 1;
@@ -1191,12 +1204,11 @@
memset(pr->power.states, 0, sizeof(pr->power.states));

result = acpi_processor_get_power_info_cst(pr);
- if (result == -ENODEV)
- result = acpi_processor_get_power_info_fadt(pr);
-
if (result)
- return result;
+ result = acpi_processor_get_power_info_fadt(pr);

+ /* No valid _CST and FADT, but C1 must be supported,
+ * so here we go */
acpi_processor_get_power_info_default(pr);

pr->power.count = acpi_processor_power_verify(pr);
@@ -1216,13 +1228,13 @@
#endif

/*
- * if one state of type C2 or C3 is available, mark this
+ * if one state of type C1(e), C2 or C3 is available, mark this
* CPU as being "idle manageable"
*/
for (i = 1; i < ACPI_PROCESSOR_MAX_POWER; i++) {
if (pr->power.states[i].valid) {
pr->power.count = i;
- if (pr->power.states[i].type >= ACPI_STATE_C2)
+ if (pr->power.states[i].type >= ACPI_STATE_C1)
pr->flags.power = 1;
}
}
@@ -1455,7 +1467,7 @@
static int acpi_idle_enter_c1(struct cpuidle_device *dev,
struct cpuidle_state *state)
{
- u32 t1, t2;
+ u32 t1, t2, elapsed;
struct acpi_processor *pr;
struct acpi_processor_cx *cx = cpuidle_get_statedata(state);

@@ -1482,7 +1494,10 @@

local_irq_enable();
cx->usage++;
-
+ elapsed = ticks_elapsed(t1, t2);
+ if (elapsed > 0)
+ cx->time += elapsed;
+
return ticks_elapsed_in_us(t1, t2);
}

Sunia pilnuje laptopa




Jak wygląda matryca po spotkaniu z podłogą

- Cześć jestem matryca.
- Cześć jestem podłoga. (didaskalia: I sru).



czwartek, października 09, 2008

DPD - nie korzystajcie z usług tej firmy

Nie wiem czy robienie sobie jaj z klienta jest regułą, czy może tylko trafiłem na beznadziejnego kuriera. Ze śledzenia przesyłki dowiedziałem się, że był u mnie w domu o godz. 14, kiedy byłem w pracy. Wcale do mnie nie zadzwonił, żeby ustalić godzinę odbioru. Zadzwoniłem do biura obsługi klienta, nie mogli się do niego dodzwonić, zadzwoniłem drug raz, to samo. Przypadkiem na
ulicy natrafiłem na samochód innego kuriera, ten zadzwonił do działu
handlowego i ustalił numer kuriera i jego komórkę (WA2 GPR, 791 563 111).
Dzwoniłem z paru różnych telefonów i albo było zajęte albo człowiek nie
odbierał. Jak jutro do południa nie dostanę paczki, to chyba pojadę osobiście
do masterlinka i komuś zrobię krzywdę. Takich cudów jeszcze nie widziałem.
Proponowałbym wysyłanie paczek UPS-em, z nimi nigdy nie miałem problemów.

niedziela, września 21, 2008

Acer Aspire 4530

Laptop ma 14-calowy ekran, waży 2,4kg i wyposażony jest w procesor AMD Athlon X2 QL-60 1,9GHz o TDP 35W oraz zintegrowane GPU GeForce 9100 (MCP77). Notebook jest ładny i ma nowoczesny wygląd. Obudowa jest jakościowo lepsza od tej dwie generacje wstecz. Klawiatura taka sama jak w poprzednich Acerach (trzeba się do niej przyzwyczaić, mankamentem jest to, że ją mocno słychać - cyka), touchpad też ten sam - Synaptics. Nowością są głośniki - są naprawdę porządne. Puszczając muzykę z iTunes 8 byłem mile zaskoczony - na pierwszy rzut ucha brzmiały tak samo jak głośniki desktopowe. Dźwięk jest przestrzenny, nie przytłumiony, słychać więcej tonów niż w "zwykłych" głośnikach laptopowych. Obudowa znana z modelu 4520 jest dość wysoka - klawiatura znajduje się na wysokości 3 cm od blatu biurka, w starszych laptopach było to 2,5 cm. W rezultacie chcąc na niej pisać należy dostosować sobie miejsce pracy zgodnie z zasadami BHP - przesiadając się z Acera Aspire 3860 należy podnieść w górę siedzisko fotela.



Ekran wydaje się mniejszy i smuklejszy niż w starszych modelach, ale to tylko wrażenie spowodowane zaokrągleniem rogów obudowy, przez co wygląda na węższą.



Z prawej strony mamy sprawdzone DVD TSST (Toshiba Samsung Storage Technology), wejście USB na myszkę i wejście zasilania.



Z tyłu jest tylko wylot powietrza z systemu chłodzenia. W trakcie pisania tego tekstu obudowa w tym miejscu jest ciepła, ale wydmuchiwane powietrze jest chłodne. Laptop grzeje się najwięcej z powodu używania grafiki od NVidii.



Z lewej strony mamy wyjście VGA, gniazdo RJ45 karty Broadcom NetXtreme Gigabit Ethernet, gniazdo RJ11, dwa gniazda USB i wejścia/wyjścia audio (te ostatnie w starszych Acerach były z przodu, może było to odrobinę wygodniejsze). Przeniesienie gniazd USB na boki trzeba ocenić na plus, już nie trzeba trafiać na czuja w tył obudowy, żeby podłączyć myszkę.



Laptop jest oznaczony logiem SignalUp, co przeważnie przekłada się na to, że wyposażony jest w kartę Atherosa. Tak jest z modelem 4530, w którym zamontowano Atherosa 5007EG - bardzo ładnie pokazuje wszystkie sieci w okolicy, deklasując inne karty WiFi. Laptop ma zainstalowaną Vistę Home Premium. Przed skasowaniem jej zdążyłem zrobić windowsowy benchmark wydajności: procesor 4.9, grafika do Aero 4.1, gry 4.7, dysk powyżej 5-tki (Hitachi 250GB - czuć, że jest szybki, ale trochę go słychać, bardziej niż Caviara 60GB). Na laptop trafił Windows 2008 Server, który chodzi płynnie, wcale nie czuć, żeby system był ociężały (czego po Viscie można się spodziewać).



Jeszcze o obudowie: fajnie, że wyłącznik przeniesiono na środek, teraz przy przenoszeniu laptopa nie istnieje ryzyko chwycenia go tak, że przy okazji zostanie wciśnięty power-off.



Mimo (zdawałoby się) mało mobilnego sprzętu Windows przy włączonym WiFi i ekranie ustawionym na 40% jasności działa 3 godziny. Bardzo dobry wynik.



Z Linuksem jest gorzej, nie działają stany uśpienia C2, C3 ani C1 ani C1e (performance monitor pod Windows pokazuje powyżej 90% w stanie C1, sądząc po 3h działania musi być to C1e). Teoretycznie mają prawo nie działać, bo w DSDT nie ma definicji bloku power w FADT (P_LVL1*, P_LVL2* - opóźnienia i adresy rejestrów, których czytanie powoduje sen), ani nie ma sekcji _CST. Przez to Linuks wytrzymuje na bateri 1,5 - 2h i mocno grzeje sprzęt. Najwidoczniej Windows NT 6.0 ma sterowniki Cool'n'Quite, które radzą sobie bez poprawnych definicji zarządzania energią w BIOSie.



Dla Solarisa procesor jest za nowy (AMD 11h) i nie wie, jak nim zarządzać, żeby oszczędzać prąd. Ale OpenSolaris 2008.11 rozpoznaje automatycznie grafikę i ma do niej dość świeże sterowniki od NVidii.




Największą wadą laptopa jest matryca - jest taka sama jak w obecnych Lenovo czy Dellach - LG Philips - czyli dość nijaka. Kolory są blade i zupełnie nie soczyste, chyba też za bardzo niebieskie. W porównaniu do ekranu Quanta Display z Acera Aspire 3680, ten jest naprawdę low-endowy. Jeśli laptopa używamy do przeglądania sieci i programowania nie będziemy mieli z tego powodu mocno negatywnych odczuć, ale jeśli obrabiamy grafikę w Photoshopie, to będziemy musieli sobie skalibrować profil ICC.

    Plusy
  • Wydajny i jednocześnie oszczędny procesor
  • CPU wspiera sprzętową wirtualizację
  • Normalna grafika, czyli NVidia
  • Ładny design
  • Poręczny i lekki
  • Dobre głośniki
  • Dobra karta WiFi
  • dobra cena

    Minusy
  • NVidia potrafi się grzać
  • Problem z oszczędzaniem energii pod Linuksem
  • Matryca ma blade kolory, wymaga kalibracji ICC.

poniedziałek, września 15, 2008

Po czym poznać źle napisane strony WWW

Wystarczy zmienić deklarację typu dokumentu HTML i zobaczyć czy strona się rozjedzie:

  • strict: <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">

  • quirk: <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">

  • standard: <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">

wtorek, września 02, 2008

Yet another Konqueror for Windows

Mamy może mało popularne, ale porządnie sportowane Safari 3.1 dla Windowsa, mamy Konquerora z KDE 4.1 (winkde.org), a od dzisiaj mamy kolejną przeglądarkę z silnikiem KHTML - Google Chrome. Firmy wykorzystujące w swojej działalności Internet, jeśli wcześniej szanowały wybór klientów używających MacOS-a lub KDE, teraz mogą z dumą obwieścić, że ich strona jest kompatybilna z Googlem. Przykładem iPKO.

Po co Google'owi własna przeglądarka będąca Safari? Mając własną przeglądarkę z zaawansowanym silnikiem JavaScript mogą tworzyć Web 3.0. Prawda jest taka, że w DHTML-u można zrobić sporo byleby miało to sensowną wydajność. I jeszcze jedno spostrzeżenie: ludzie z Google'a używają MacBook-ów, na których mają Safari, więc przeglądarka Google na WebKit-cie to coś naturalnego.

piątek, sierpnia 22, 2008

WebLogic 10.1 MP1

Dziesiątka nie jest tak niezawodna jak dziewiątka. Przy co drugiej instalacji AdminServera zdarzają się takie błędy:

####<Aug 22, 2008 12:50:36 PM CEST> <Info> <ServletContext-/bea_wls_internal> <wls.domain.com> <AdminServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1219402236024> <BEA-000000> <HTTPClntLogin: Login rejected with code: 'Failed', reason: java.net.ProtocolException: HTTP tunneling is disabled

at weblogic.rjvm.http.HTTPServerJVMConnection.acceptJVMConnection(HTTPServerJVMConnection.java:88)

at weblogic.rjvm.http.TunnelLoginServlet.service(TunnelLoginServlet.java:80)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)

at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)

at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)

at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)

at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3395)

at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

at weblogic.security.service.SecurityManager.runAs(Unknown Source)

at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)

at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)

at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)

at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)

at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)

Workaround: Zaznaczamy w 'Server -> Protocol -> General': [*] enable tunnelling, a zakładce Channels dodajemy nowy kanał o nazwie AdminServer: protokół http, kanał ma być wyłączony, adres nasłuchu: podajemy zewnętrzny IP, port nasłuchu: -1, adres publiczny: ten sam IP, port publiczny: -1; dodatkowo zaznaczamy enable tunnelling i http tunnelling.
Po restarcie serwer powinien zachowywać się normalnie i sam nie składać.

środa, sierpnia 20, 2008

JCall - wołaj funkcje C z Javy

W środowiskach korporacyjnych króluje Java, w nich też używa się czasem wirtualizacji np. VMWare Servera. Fajnie by było, gdyby pewne operacje na maszynach wirtualnych zautomatyzować za pomocą jakiegoś własnego oprogramowania. EMC dostarcza API VIX w wydaniach dla C i Perla, ale nie ma Java bindings. Chciałem coś takiego zrobić samemu, ale z Javy nie można tak łatwo dostać się do C jak w .NET-cie. Są biblioteki np. J/Invoke, ale są płatne i zamknięte. No to napisałem swoją własną biblioteczkę - pomysł jest taki, że pobieramy adres funkcji z biblioteki so, wrzucamy go do eax-a, wrzucamy argumenty na stos i wołamy eax-a. Tak, tak, używamy assemblera :). Okazuje się, że jak się ma fajne gcc pod Windows i zrobi parę makrodefinicji, to ten sam kod napisany pod Linuksa, da się skompilować i uruchamiać pod Windows. Całość wrzuciłem na systest.googlecode.com.

piątek, lipca 25, 2008

Oszczędzanie energii

  • Przyciemniony ekran
  • Czarne tło pulpitu
  • Wyładowane sterowniki od USB, WiFI, LAN-u i dźwięku
  • Wyłączony NetworkManager, dhcdbd, arts, dbus
  • acpi_osi="Windows 2006" /*w laptopie mam BIOS do Visty*/
  • notsc clocksource=hpet
  • kernel 2.6.25 z NOHZ i WMI


Na koniec trzeba dodać, że przedmiotem eksperymentu był Acer Aspire 3680 z Celeronem M 420, w konsoli udało się zjechać nawet do 14,8W i 11 wybudzeń. Przy standardowej pracy z użyciem myszki USB i włączonym WiFi laptop pobiera 18W.

Intel 2D w X11

Sterownik xf86-video-intel na X serwerze 1.3 (i nowszym) domyślnie używa architektury akceleracji EXA (xf86-video-i810 używał XAA), co powoduje tragiczną wydajność 2D - widać to podczas przewijania strony WWW w przeglądarce, a zwłaszcza strony z Flashami (libflashplayer.so w wersji 9+ wiesza się czasem); eclipse chodzi wolno. Rozwiązania są 2:
  • Wrócić do XAA (Option "AccelMethod" "XAA")
  • albo dodać: Option "AccelMethod" "EXA", Option "MigrationHeuristic" "greedy", Option "ExaNoComposite" "false"

W celu przyśpieszenia glxgears można dodać zmienną środowiskową INTEL_BATCH=1.

środa, lipca 23, 2008

JConsole i WebLogic

JConsole z JDK 1.6 ma problemy przy odczycie danych, wypada używać wersji 1.5. Adres jest typu: 'service:jmx:iiop:///jndi/iiop://wlserver:7001/weblogic.management.mbeanservers.runtime'.

wtorek, lipca 22, 2008

VisualVM od Sun-a













Dostępny w JDK 1.6.07 albo oddzielnie.

piątek, lipca 18, 2008

Tylko 50% polskich internautów używa IE

Opublikowano najświeższe statystyki Gemius SA.

niedziela, lipca 13, 2008

Poprawki dla 2.6.25.10-rt7

Siadłem nad tym kernelem i doprowadziłem go do stanu używalności na moim laptopie:

libata: fix locking for kmap_atomic

pm_qos_params: change spinlock to rwlock

no i oczywiście żeby się kompilowało w kernel/sched.c trzeba dodać:

static inline u64 global_rt_runtime()
{
if (sysctl_sched_rt_period < 0)
return RUNTIME_INF;

return (u64)sysctl_sched_rt_runtime * NSEC_PER_USEC;
}
Tak przy okazji - mocny motyw:

piątek, lipca 11, 2008

Jak profilować WebLogic-a

Ściągamy YourKit Java Profiler, wgrywamy bibliotekę agenta na maszynę z WLS i w zakładce ServerStart podajemy '-agentpath:/home/weblogic/ykjprofiler/libyjpagent.so=port=9999'

poniedziałek, lipca 07, 2008

Oracle BEA - i wszystko jasne

http://blogs.oracle.com/otn/2008/07/blogging_the_oracle_fusion_mid.html
http://www.oracle.com/products/middleware/docs/oracle-middleware-strategy-briefing-072008.pdf

Oracle z marszu zamierza przestawić się z OC4J na WebLogic'a; eclipse-owe narzędzie BEA zostaną przerzucone do Oracle Eclipse Pack, a domyślnym IDE będzie JDeveloper. AquaLogic Service Bus będzie połączony z Oracle ESB i rozwijany jako Oracle Service Bus.

Tak na marginesie - te raporty Forrestera są naciągane...