piątek, lipca 24, 2009

Eksport bookmarków

Breakable Oracle
PoznajFakty
Nie należy krzyczeć na serwer
Cytaty z House'a
Generator newsów
Proxy detector

czwartek, lipca 23, 2009

NTLM Jira workaround

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"ProxyOverride"="jira;"
"DisableNTLMPreauth=dword:00000001

IE czasami gubi się w trakcie handshake'u NTLM, zwłaszcza kiedy dostaje żądanie autoryzacji od razu przy ładowaniu URL-a, a nie po HTTP 304 czy wybraniu linka.

wtorek, lipca 21, 2009

Pogoda

Widok z góry

niedziela, lipca 19, 2009

Safari najszybsze

Futuremark Peacekeeper


Wymagania dla Developera Systemów IT

  • Programowanie Java + Web Development
    • J2EE
      • Servlety
      • JSP
      • EJB
      • WS
      • JMS
    • UI
      • Swing
      • Qt Jambi
      • DHTML
      • CSS
      • Paint Shop Pro/GIMP
    • Serwery aplikacyjne + infrastruktura
      • Tomcat
      • WebLogic
      • Apache + mod_proxy
      • WebMethods lub inna platforma integracyjna
    • Narzędzia
      • Eclipse
      • Grails
  • Programowanie C/C++/C#
    • UNIX
    • POSIX
    • WinAPI
    • C++ Builder
    • .NET
  • Znajomość protokołów i formatów
    • TCP/IP
    • HTML + typowe nagłówki
    • POP3
    • SMTP
    • NTLM
    • AT (modem)
    • XML
      • XSLT
      • XSD
      • WSDL
    • UML
  • Programowanie shellowe UNIX
    • Bash, sed, awk
  • Reverse Engineering i diagnozowanie problemów
    • Dekompilacja, JAD, wzorzec projektowy wrapper/proxy, podmiana klas
    • Strace, objdump
    • Diagnostyka JMS-a za pomocą narzędzia Hermes
    • Profilowanie aplikacji (YKP)
    • Tuningowanie maszyny wirtualnej (w tym GC) Sun JVM, BEA JRockit
    • Serwery Dell
  • Bazy danych (dewelopment, częsciowo administracja)
    • MSSQL
    • Oracle
    • PostgreSQL
  • Administracja systemami operacyjnymi i narzędziami do pracy grupowej
    • Windows 2003/2008
    • RedHat/Fedora
    • SuSE
    • VMware
    • Subversion
    • Wiki
  • Zagadnienia koncepcyjne
    • Inżynieria oprogramowania
    • Wzorce projektowe
    • Wzorce projektowe EAI
    • SOA
    • Wzorce projektowe SOA
    • BPM
    • Testowanie aplikacji
    • HCI, projektowanie UI
    • Balancing, fail-over
    • System operacyjny UNIX (planista, zarządzanie pamięcią, libc)
    • Zwinne podejścia do wytwarzania oprogramowania (eXtreme Programming, Scrum)
    • Bezpieczeństwo
  • Znajomość bibliotek, technologii, technik, narzędzi, itp.
    • Xerces, DOM
    • XStream
    • XMLSpy
    • JUnit
    • Selenium IDE
    • Pobieżna znajomość silników przeglądarek WWW (IE, Firefox, KHTML, Opera)
    • Statystyka matematyczna + StatGraphics lub R
Bold - must have
Not bold - would be nice

sobota, lipca 18, 2009

TiltOS

System zarządzania pakietami dla Haiku. Jest Midnight Commander!

Apple introduces closures!

MacOS X Snow Leopard będzie miał planistę wątków opracowanego specjalnie dla procesorów wielordzeniowych. Co ciekawe, programista będzie korzystał z Grand Central Dispatch, poprzez closures.

Blocks

Blocks are a simple extension to C (as well as Objective-C and C++) that make it easy
for you to define self-contained units of work. A block in code is denoted by a caret at
the beginning of a function. For example, you could declare a block and assign it to x
by writing:
x = ^{ printf("hello world\n"); }
This turns the variable x into a way of calling the function so
that calling x( ); in the code would print the words hello world.

Android



Cały pulpit działa w fbdev-ie (czysty framebuffer), bez X-ów. Patrząc później na listę procesów można dojść do wniosku, że Android koncepcyjnie bardzo przypomina BeOS-a.





Przeglądanie dużych stron na małym ekranie jest bardzo fajne. W domyślnym widoku widzimy kawałek strony w skali 1:1 mieszczący się na małym ekranie. Po kliknięciu ikony pojawiającej się w dolnym prawy rogu podczas przewijania zawartości strony, dostajemy widok pomniejszonej strony z ramką przedstawiającą wycinek w skali 1:1. Przestajemy ruszać ramką - widzimy standardowej wielkości kawałek strony. Oprócz tego mamy dwie ikony: zoom in, zoom out; możemy ruchem kursora przesuwać zawartość (tak jak w Google Maps).




Sprawdźmy jakiej przeglądarki używamy (na stronie webmaster.helion.pl Pawła Wimmera ze skryptami JS): Mobile Safari. Hmm... Ani Chrome ani Chromium, ale do tych potrzebne byłoby GTK i Xy, których w Androidzie nie ma!



Odpalmy terminal i zobaczmy w BusyBoksie, co jest pod spodem.



Linux 2.6.27, obcięty i raczej bardzo statyczny (niewielka liczba modułów w /lib/modules).



Własny init, tutaj przypomniał mi się BeOS i jego Kity.



Tak wyglądają aplikacje - zmodyfikowana androidowa Java. Sun pewnie nie jest ucieszony.



W GUI mam sieć, a w konsoli nic z tego, wszystko poblokowane.



Patrząc na ps, ma się wrażenie oglądania systemu z mikrojądrem i serwisami. BeOS was cool.

Co jeszcze należy dodać? Cały system korzysta, ze statycznego obrazu skompresowanego squashfs-em, na to nakładka read-write aufs. Ustawienia i artefakty użytkownika zapisywane na karcie SD. Na netbooka system będzie nadawał się doskonale.

sobota, lipca 11, 2009

Spalony kontroler klawiatury i już po laptopie

Laptop się nie włącza, ale świeci się dioda baterii. Rozbieramy obudowę i wyjmujemy płytę główną.



Po przyłożeniu baterii okazuje się, że jeden układ parzy - PC87541V-VTC (NT618G), czyli mamy zwarcie. Niestety układ ma za dużo nóżek i są one za małe, żeby w domowych warunkach go wylutować. Płyta główna jest do wyrzucenia.



A tu zdjęcie GMA945 i Celerona - rozmiary kontrolera grafiki i procesora są zbliżone.

czwartek, lipca 09, 2009

C++ Builder still alive (wersja 2009)

środa, lipca 08, 2009

Duża liczba połączeń w stanie CLOSE_WAIT na Apache'u

W ramach rekomendacji poaudytowych Altkom radzi firmom bezkrytycznie włączać najlepiej wszystkie reguły SmartDefense na firewallu CheckPoint. Gdyby chociaż raz przetestowali to, co proponują, to by wiedzieli, że mogą swoim doradztwem zrobić ludziom bajzel na produkcji.

Zablokowanie połączeń TPC/IP keep-alive realizowane jest w ten sposób, że firewall preparuje pojedyńczy pakiet FIN+ACK, który wysyła do hosta. Host ten liczy, że wyśle ACK-a i dostanie w odpowiedzi FIN+ACK, a po wysłaniu LAST_ACK zamknie połączenie. Tymczasem taka wyminana pakietów nie zachodzi i mamy wiszące połączenia w stanie CLOSE_WAIT. Po pewnym czasie procesy Apache'a strasznie się mnożą, a cały serwis WWW przestaje odpowiadać.

Workaround w httpd.conf:
KeepAlive Off
TimeOut 60

piątek, lipca 03, 2009

SMSGW: mail-sms gateway

Techbase NPE is a device that comes with 180MHz 32-bit ARM processor, 64 MB of RAM, 4MB of writable FLASH memory, SD card reader and Sim600 GSM EDGE modem. Device is handled by Linux 2.6.20 with BusyBox tools, there is JamVM – embedded Java Virtual Machine more or less compatible with Sun JVM 1.4.

Device was chosen to be a part or IT infrastructure monitoring. All alerts are sent to device via SMTP mail protocol and then delivered as a SMS.

Software used for assembling of application:

SMSGW with documentation is avaliable from systest.googlecode.com

To integrate SMSLib I had to port it from Java 1.5 to JamVM 1.4 (note that GNU Classpath doesn't support POSIX extensions to regular expressions), fix SLFJ startup checks and change usage of RXTX to direct way instead of reflection. RXTX used by me didn't have mappings for B115200 and B230400 and I had to look them up in termios.h (file is available in Linux kernel sources), found values should be used in port.setSerialPortParams().