czwartek, grudnia 31, 2009
środa, grudnia 30, 2009
Avatar
Kiedyś efekty specjalne robiło się na maszynach SGI z systemem operacyjnym Irix na bardzo wydajnym systemie plików XFS z dziennikiem (XFS został sportowany na Linuksa i do tej pory w testach potrafi skopać tyłek ext4, nie mówiąc już o ext3). Ludzie z SGI stworzyli cplusplusowego STL-a. Na sprzęcie SGI powstał Park Jurajski. Filmy renderowało się też na Linuksie z Alphami EV6 (świetny procesor; ludzie którzy go konstruowali ratowali się ucieczką do AMD i stworzyli 64-bitowego Athlona). Wszystkie sympatyczne filmy Disneya wyprodukowane przez Pixar (np. Potwory i spółka) powstały na Mac-ach G5 (Apple ma świetne narzędzia do obliczeń rozproszonych MPI). Avatara zrobiono na GPU Nvidia Tesla. Już pierwsze ujęcia maszynerii w bazie ukazują wyrenderowany świat, który wygląda dużo realistyczniej niż jakikolwiek z 3DMarków. Pamiętacie 3DMark 03 Demo Nature, kiedy byliśmy w szoku, że tak pięknie można wyrenderować świat? Teraz mamy las w Avatarze.
Jakie jest przesłanie filmu? Ludzkość używa postępu technologicznego do niszczenia dobra i piękna. Żądza posiadania, żądza władzy. Wszystko, co stoi na drodze, zostanie zniszczone.
"Jeśli do umacniania rozwoju potrzebni są coraz to liczniejsi technicy, to o wiele bardziej potrzebni są ludzie mądrzy; zdolni do wnikliwej refleksji, poszukujący nowego humanizmu, dzięki któremu ludzie naszych czasów poprzez przyjęcie najszlachetniejszych wartości (...) mogliby odnaleźć samych siebie." "Aby [postęp] był prawdziwy, powinien on być zupełny, to znaczy winien przyczyniać się do rozwoju każdego człowieka i całego człowieka" (Populorum progressio)
Czy Avatar bedzie filmem przełomowym? Matrix był filmem przełomowym. Kojarzycie ujęcie - replay w Aniołkach Charliego, kiedy Drew Barrymore wypada z okna. To właśnie jest tzw. efekt Matriksa.
Dla informatyków bez zmian: kultowym filmem numer jeden nadal pozostaje Matrix; Matrix był UNIX-em, a Trinity przy hackowaniu używała nmap-a. Matriksa ogłądało się także na BeOS-ie - był kodek 3vix do Media Playera i na Linuksie, gdzie na Debianie przez modem ściągało się GCC, żeby przekompilować mplayer-a z flagami dla K6-3...
Mogliby grzać w tej Feminie, trochę zmarzłem przez te 2 godziny.
niedziela, grudnia 27, 2009
czwartek, grudnia 24, 2009
Lies, damn lies and benchmarks
Chcemy porównywać jakieś produkty występujące na różne systemy operacyjne. Ponieważ jesteśmy nowocześni używamy wirtualizacji. Jeden produkt wpakujemy do Ubuntu JeOS ze wsparciem dla parawirtualizacji (VMware: vmi.present ="True" na starszych Xenonach lub Opteronach) a drugi do zwykłego Windows-a.środa, grudnia 23, 2009
GlassFish na produkcji
Po zainstalowaniu GlassFish działa na ustawieniach odpowiednich do dewelopmentu. Przed wypuszczeniem go na produkcję, gdzie oczekuje się od niego pewnej wydajności, trzeba pozmieniać parę rzeczy.piątek, grudnia 18, 2009
wtorek, grudnia 08, 2009
No (distributed) transactions in BizTalk
Database insert to different data sources. Atomic doesn't work in Visual Studio, so change transaction type to Long Running.
Now it doesn't work in real life.
BizTalk and WCF-SQL Send Ports
Add -> New generated item -> Consume WCF Service, orchestration looks reasonably.
We deploy it and run and... it doesn't work. Orchestration is dehydrated and in Event Viewer we see 'action not understood'.
Fix is to change Action in WCF Send Port configuration from XML fragment to text
- or -
change port operation name to Action name.
sobota, grudnia 05, 2009
OpenESB revisited
sobota, listopada 28, 2009
BizTalk 2009 BAM Portal
Nie udaje się go skonfigurować na 64-bitowym W2K8 R2: The error indicates that IIS is in 64 bit mode, while this application is a 32 bit application and thus not compatible.poniedziałek, listopada 23, 2009
Clound AntiVirus
W mediach internetowych trwa kłótnia między Pandą i G Datą.
Punkty z heurystyki: plik jest ukryty lub systemowy; plik jest w koszu; plik jest skompresowany UPX-em albo czymś podobnym; plik podejrzanie używa GetProcAddress32 i VirtualAlloc; plik ma funkcjonalność wysyłania poczty; plik dodaje się do autostartu itd.
Jeżeli suma punktów przekroczy entry-level to dane o pliku są zapisywane w chmurze: nazwa, scieżka, md5sum, punkty z heurystyki, [blob]. Jezeli rekordów w bazie jest wystarczająco dużo w jednostce czasu to przekraczamy low-level i możemy automatycznie okreslić plik jako podejrzany (1). Następnie plik idzie do standardowej analizy i ewentualnie trafia do definicji wirusów albo ulepszane są definicje heurystyczne (2). Żeby botnet nie triggerował niszczenia plików systemowych przez Cloud Antivirus-a w przypadku (1) producent antywirusa dysponuje bazą white-list (3). Tak mniej więcej działa G Data. Chmura zapewnia bezpieczeństwo w okresie czasu od (1) do (2) uwzględniając (3).
Antywirus w wydaniu Pandy jednak ma definicje (w folderze C:\ProgramData\Panda Security\Panda Cloud Antivirus\NPS), a wirusy "chmurowo" identyfikuje za pomocą sum kontrolnych (CRC32, SHA, SHA512, MD5) wysyłanych na serwer protokołem HTTP (dane wysyłane są w paczkach dla wielu plików w przypadku skanowania wielu obiektów). W odpowiedzi dostaje informacje o stanie pliku (czysty, zawirusowany, podejrzany - wymaga wysłania do analizy). Dodatkowo wykrycie wirusa z baz powoduje przesłanie informacji statystycznej do serwera Pandy.
Dostęp do chmury można zepsuć modyfikując plik %WINDIR%\system32\drivers\etc\hosts:
127.0.0.1 cache2.pandasecurity.com
127.0.0.1 iext.pandasecurity.com
127.0.0.1 cache1.pandasecurity.com
127.0.0.1 acs.pandasoftware.com
Podsumowując: Panda i G Data koncepcyjnie mają podobne produkty. Panda posiada definicje antywirusowe oraz silnik chmurowy. Heurystyka z definicji powoduje w razie potrzeby sprawdzenie pliku w chmurze - tak samo robi G Data AntiVirus. Dlaczego Panda jest darmowa? Firma pewnie chce przetestować rozwiązanie, które myśli udostępnić za pieniądze użytkownikom korporacyjnym. Silnik skanujący Pandy PSANHost.exe podczas pracy wcale nie jest taki lekki, a cały pakiet łatwo zepsuć. Panda zrobiona jest po części w C++ Builderze.
Kłócą się panowie, którzy chyba mają stanowiska marketingowców...
KDE 4.3.3 na Windows
Natywna wersja windowsowa powoli się stabilizuje. Sporo aplikacji działa bez problemów.niedziela, listopada 22, 2009
DSEE 7.0 na NT 6.1
Po rozpakowaniu windowsowej wersji DSEE w katalogu var mamy plik dsee7.war, który należy zadeployować sobie na GlassFishu. Najpierw jednak inicjalizujemy Directory Server i podnosimy cacao.
Cacao używa samodzielnie podpisanego certyfikatu SSL, który nie przejdzie w DCC 7. Dlatego wyeskportujemy certyfikat i zaimportujemy go do keystore'a, którego używa GlassFish.
środa, listopada 04, 2009
Switchable graphics a Acer Timeline i Windows 7
Działające sterowniki pozwalające na przełączanie między ATI a Intelem ma Lenovo. Sterowniki należy rozpakować i podmienić plik INF dla Windows 7 64-bit. Minus jest taki, że sterowanie jasnością LCD nie działa (kwestia BIOSu albo Launch Managera).
Update: Są dedykowane sterowniki do W7.
poniedziałek, listopada 02, 2009
BizTalk 2009 z Visual Studio 2008
BizTalk 2009 pozwala na tworzenie projektów w Visual Studio, ale z zainstalowanym Visual C# (inaczej będziemy widzieć 'project creation failed'). Ponadto Service Pack 1 do VS2K8 może wymagać poprawki do Rejestru:REGEDIT4KC4Z0ZBWWH4G0G
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Projects\{FAE04EC0-301F-11d3-BF4B-00C04F79EFBC}]
"PossibleProjectExtensions"="csproj;btproj"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Projects\{FAE04EC0-301F-11d3-BF4B-00C04F79EFBC}]
"PossibleProjectExtensions"="csproj;btproj"
wtorek, października 27, 2009
Acer Aspire 4810TZG
Laptop firmowo zapakowany jest w dość ładne pudełko, w którym znajdziemy kabel zasilający i zasilacz LiteOn z emblematem baterii z liściem (symbol energooszczędności).
W zależności od ilości światła laptop wydaje się być srebrny albo grafitowy. Na obudowie nie będzie już widać palców, co było standardem w Acerach z linii Gemstone. Materiał z tyłu ekranu fakturą przypomina szczotkowane aluminium, natomiast ten w środku w płaszczyźnie klawiatury, jest bardziej śliski. Obudowa nie ma zatrzasków, ekran można odgiąć bardziej niż w modelach Gemstone (co jest plusem, zważywszy dziwne pozycje używania laptopa w warunkach domowych).
Klawiatury używa się dość przyjemnie, nie jest głośna, klawisze mają krótki skok. Niestety na fortepianowej czerni klawiszy pozostają odciski palców, co wygląda po pewnym czasie mało estetycznie. Z drugiej strony, gdyby klawisze były wykonane z szorstkiego, czy też matowego plastiku (taki jest w Travelmate'ach z linii Timeline), pewnie pisanie byłoby trochę mniej przyjemne.
W Timeline'ach mamy do dyspozycji touchpad multitouch - do przetestowania w windowsowej przeglądarce zdjęć - zoom in, zoom out, następny obrazek (zbliżamy/oddalamy od siebie dwa palce, dwoma palcami przesuwamy szybko w poprzek gładzika). Powierzchnia gładzika jest wykonana z tego samego materiału, co obudowa z tyłu ekranu, nie jest śliska.
Laptop ma matrycę AU Optronics podświetlaną diodami LED w rozmiarze 14'' o rozdzielczości 1366x768 pikseli. Krótsza wysokość ekranu w porównaniu do standardowych wymiarów 1280x800 wzmaga wrażenie sporej długości pulpitu. Kolory są dość dobrze odwzorowane, podświetlenie ma 10 stopni jasności, z czego w normalnym użytku do wykorzystania są pierwsze trzy, dalej obraz będzie za jasny. Laptop ma dwie karty graficzne: zintegrowaną Intel i PCI-Express ATI Radeon 4330. Przy włączonym Intelu Radeon nie jest prawidłowo wyłączany i laptop się grzeje w dolnej lewej częsci, dlatego lepiej wyłączyć Intela - laptop pozostanie ledwie ciepły i niemal bezgłośny.
Obudowa ma cal grubości, przez co jest trochę mniej solidna od tej ponad 3,5 centymetrowej w modelu Aspire 4x30. W lewej częsci pod ekranem znajduje się włącznik, jest on umieszczony we wklęśnięciu względem płaszczyzny klawiatury, a do tego jest wąski, przez co trudniej przypadkowo wyłączyć laptopa, ale przy tym trudniej go włączyć palcem wskazującym lewej dłoni - po pewnym czasie można przyzwyczaić się do używania palca wskazującego prawej dłoni z ułożeniem wzdłuż przycisku. W drugim krańcu obudowy jest przycisk otwierający tackę napędu optycznego - ta jest solidna i bardziej odporna na wpadanie w rezonans (co było standardem przy krzywych płytach w innych Acerach).
Laptop wyposażono w dwurdzeniowy procesor Intel Pentium SU4100 @ 1.3GHz z 2 MB pamięci cache L2. Procesor ten to Intel Core 2 Duo SU7300 z nie działającą wirtualizacją i mniejszym o 1/3 cache-em L2 (zaś SU7300 to wolniej taktowany SU9400). Windows 7 w konfiguracji z 4GB RAM-u śmiga. Przy nic nierobieniu jedno ładowanie baterii potrafi starczyć na ponad 9 godzin. Przy przeglądaniu Internetu bez flasha będzie to 8 godzin.
Pytanie, czy do pełni szczęscia potrzebna nam wirtualizacja? Laptop ten raczej nie został do niej zaprojektowany, bo ma chodzić długo na baterii (włączenie VirtualBoksa, albo VMware Playera, w których można uruchomić systemy 32-bitowe powoduje zjechanie wskaźnika baterii do 4 godzin). Ponadto lepiej chyba mieć 2 rdzenie bez wirtualizacji niż jeden rdzeń z Intel-VT (Intel Core Solo SU3500). Mamy do dyspozycji 500GB dysku twardego, więc zamiast coś wirtualizować, można zainstalować obok.
Laptop nie ma standardowego BIOS-u tylko program EFI Insyde H2O przypominający z wyglądu BIOS Phoenix.
niedziela, października 25, 2009
Shaping ruchu sieciowego w OpenSolarisie
Stworzyliśmy wirtualną kartę sieciową do dedykowanej obsługi ruchu SSH. Żeby ssh user@10.0.2.150 zadziałało trzeba jeszcze podnieść eth0 (ifconfig eth0 up).
sobota, października 24, 2009
Intel AC97 w Windows 7
Windows 7 nie ma sterownika do intelowego AC97, ale Realtek ma driver do swojego sprzętu, a wszystkie kodeki AC97 są w zasadzie takie same... Sprawdzone w VirtualBoksie.wtorek, października 20, 2009
Ultimate HTTP Tunnel
Sprytna aplikacja, którą każdy chciał mieć od dawna. Cytat ze źródeł:/* Ultimate HTTP TunnelMożna przepuścić przez tunel HTTP dowolny protokół, [l] udaje Internet Explorera, a [r] udaje Apache'a.
*
* c - client
* l - local server
* r - remote server
* d - destination
*
* | |
* | |
* [c] <---> bytes <--> [l] <---> HTTP with XML <--->[r] ---> bytes ---> [d]
* | |
* | |
*
* [c] doesn't have access to [d] port
* [l] have access to [r] port and [r] have access to [d] port
* [l] and [r] create HTTP Tunnel for [c] to access [d]
*/
sobota, października 17, 2009
Master Data Management
Mamy kilka systemów dziedzinowych, wszystkie zawierają dane tego samego typu biznesowego (np. dotyczące klientów) i chcielibyśmy te dane zsynchronizować. Bierzemy pod uwagę, że obecna firma to efekt paru przejęć, połączeń i innych tego typu zaniechanych okazji do połączenia systemów IT. Bierzemy też pod uwagę, że klientki zmieniają nazwiska, adresy zamieszkania, telefony itd. Robimy jedną bazę, w której będą spójne i aktualne dane i wszystkie nowe aplikacje powinny z niej korzystać.Sun ma kompleksowe rozwiązanie integrujące się z OpenESB/JCAPS-em. Definiujemy sobie model danych i instalujemy na serwerze aplikacyjnym aplikację MasterIndex1. Wykonujemy na Oracle'u skrypty z katalogu 'Database Scripts'.
Tworzymy na Glassfish-u źródło danych dostępne po JNDI-u jako jdbc/MasterIndex1DataSource.
Dodajemy operatora zarządzania danymi.
Z MDM możemy rozmawiać za pomocą WebService-u.
Zasymulujmy import użytkownika z systemu dziedzinowego A. Dla odmiany używając Eclipse-a a nie NetBeans-a.
Teraz dodajmy w zasadzie tego samego klienta z systemu B. Jeśli pozmieniamy mu trochę dane to dostanie inny Enterprise UID (czyli zostanie potraktowany jako nowy unikalny rekord).
Error Codes