Feeds:
Wpisy
Komentarze

Archive for the ‘Informatyka’ Category

Wstępu słów kilka

Nazbierało się w Firmie ostatnio sporo zaległych projektów. Mniejsze i większe rzeczy przesuwane na później, których nagromadzenie osiągnęło punkt krytyczny. Metody, którymi postanowiono przeciwdziałać zbliżającej się katastrofie ograniczyły się do powołania zespołu, przesunięcia do niego kilku osób w niepełnym wymiarze czasu pracy i powołaniu Kierownika. Ten zwołał naradę, przedstawił plan i rozpoczął organizację czasu pracy – jak na Informatyka przystało wspomagając się Programem.

Zarządzanie czas zacząć

Wybór padł na OpenGoo. To dość ciekawy program służący do komputerowego wspomagania procesów zarządzania – takie wirtualne biuro. Muszę przyznać, że zakres oferowanej funkcjonalności wygląda dość interesująco. Tworzenie projektów, zarządzanie użytkownikami, zadaniami, kalendarz, wersjonowanie dokumentów, raporty, monitorowanie czasu.

Okiem zabieganego człowieka

Program wygląda niezwykle symatycznie. Intuicyjny interfejs, w którym łatwo się odnaleźć. Trochę AJAXa, ale bez przesady –  akurat tyle żeby działało ładnie i w miarę szybko. Możliwość przechowywania kontaktów wraz z wcześniej wspomnianą funkcjonalnością, czyni z tego narzędzia wspaniałą pomoc dla menadżera.

Okiem programisty

To co dobre dla menadżera, nie musi być dobre dla programisty. Każdy program tego typu oferuje podobne opcje, ale z mojego punktu widzenia nie wstarczy zarządzanie czasem. Chcę więcej – choćby dostęp do podglądu repozytoriów i powiązania go z zadaniami.  Tu OpenGoo zawiódł – ostatecznie odrzuciliśmy go na rzecz innego programu.

Okiem użytkownika

OpenGoo napisany jest w PHP 5, a dopracy potrzebuje jeszcze tylko MySQLa. Prawie każdy webhosting spełnia te wymagania. Instalacja jest prosta i opiera się o skrypt w PHP. Całość jest Open Source.

Podsumowując

OpenGoo to bardzo ciekawe narzędzie (z polskojęzycznym interfejsem). Jeśli ktoś szuka dobrego organizera nie tylko dla siebie, ale dla większej grupy to szczerze polecam. Pod jednym wszakże warunkiem – nie chodzi o programowanie. Więcej o samym narzędziu dowiecie się ze strony www.opengoo.org. Warto obejrzeć jak działa. W rekomendacji mogę dodać, że zainstalowałem go sobie na serwerze mojego dostawcy usług internetowych i mogę go całkiem swobodnie używać.

Reklamy

Read Full Post »

Pocket Programming Language

Mam Siemensa SX66 z Windows Mobile 2003. Nic szczególnego, ale pocztę można odebrać w dowolnym cywilizowanym miejscu, a i PDFa przeczytać. Wymagań nie mam szczególnych, ale uznałem, że przydałby mi się program do symulacji kostek wszelakich. Dla znalezionych w Internecie niestety okazało się, że nie obsługują pełnego zestawu (brakowało k12). Skoro jednak co nieco o programowaniu wiem, uznałem że napiszę sobie stosowną aplikację sam. Roboty na 30 minut z zaprojektowaniem i wykonaniem GUI.

I tu niemiłe zaskoczenie. Problemy zaczęły się piętrzyć całkiem niespodziewanie. Po pierwsze Microsoft zrezygnował z udostępniania Visual eMbedded C++ 4.0, a na dodatek tak samo postąpił z SDK dla Windows Mobile 2003. Jak na złość na Windows Mobile 2003 nie ma wirtualnej maszyny Javy (pomijam Mysaifu JVM). Zresztą narzut przy takiej aplikacji byłby chyba zbyt duży.

Intensywne poszukiwania pozwoliły mi dowiedzieć się o CASL, Basic4PPC i jeszcze kilku aplikacjach. Moją uwagę jednak przyciągnął dopiero PPL. Jego aktualna wersja 1.53 okazała się być strzałem w dziesiątkę.

Po pierwsze GUI tworzymy w sposób znany z np. Delphi: wizualne narzędzie i przypisane do widgetów zdarzenia. Nic tylko uzupełnić kodem i gotowe.

Po drugie język jest prosty i ma spore możliwości. Wystarczy uruchomić demonstacje, żeby przekonać się, że narzędzie stworzono do programowania gier. W składni nieco przypomina C/C++, ale nie na tyle, żeby dało się zacząć pisać bez przeczytania manuala. Ogólnie podstawy do opanowania w kilka minut.

Po trzecie jest stosunkowo tanie. Wersja profesjonalna to około 70 dolarów. Gdybym zamierzał programować więcej dla urządzeń mobilnych, brałbym taki zakup pod rozwagę. Na stronie producenta (ArianeSoft)  dostępna jest wersja 30-dniowa.

Nie udało mi się zrobić wszystkiego w taki sposób w jaki zamierzałem, ale po kilku godzinach siedzenia z dokumentacją i poprawianiu niespodziewanych błędów uzyskałem satysfakcjonujący efekt, w postaci prostej aplikacji symulującej rzuty kostkami.

Narzędzie jest z pewnością warte uwagi, szczególnie że dla Windows Mobile 2003 nie znalazłem lepszego. Jeśli, ktoś ma zacięcie do programowania i potrzebę napisania czegoś pod dość stary już system operacyjny, to szczerze polecam spróbować.

Dla zinteresowanych sam program. Uprzedzam jednak, że jest to wersja surowa i jej ascetyzm bije po oczach.

Kostuch (Windows Mobile 2003)

Read Full Post »

GWT okazał się nie spełniać pewnych wymogów, które przed nim postawiłem. W międzyczasie rozgryzałem jednak inną bibliotekę – ZK. Przegląd możliwości pokazanych w demach wyglądał obiecująco. Także lista firm korzystających z tego rozwiązania jest stosunkowo okazała (m.in. Sun). Zapowiadało się więc całkiem nieźle.

ZK przysporzyło mi w Netbeans 6.1 zdecydowanie mniej kłopotów. Już wstępne przejrzenie tutoriala pozwoliło uzyskać ładną formatkę i komunikację z uzyciem technologii AJAX. ZK różni się w  podejściu od GWT – tu przede wszystkim definiujemy layout (z użyciem XML), który oprogramowujemy w Javie. Wadą tego rozwiązania jest fakt, że kompilujący się kod niekoniecznie musi działać (w GWT coś co się kompiluje wyświetli się nam poprawnie).

Podstawowy layout w ZK jest bardzo estetyczny i nie wymaga definiowania CSS. Wręcz, aż prosi się o pisanie z jego użyciem cienkiego klienta. Niestety nie jest przez to tak elastyczny jak GWT – modyfikacja wyglądu wymaga więcej pracy. Na start dostajemy jednak zdecydowanie więcej.

ZK podobnie jak GWT rozpycha strasznie plik wynikowy. Dodatkowe kilkanaście MB na start mamy jak w banku. Z drugiej strony ilość komponentów jaką udostępnia jest znacząco większa.

Z ZK warto się zapoznać, ale do stosowania zawsze i wszędzie nie zachęcam. Chyba jednak lepiej użyć  bardziej statycznej technologii, a AJAXa używać  jedynie w miarę potrzeb.

Read Full Post »

Jakoś tak się złożyło, że dostałem za zadanie rozpoznać kilka technologii AJAXowych. Ot proste założenie, że chcemy znaleźć przyjazną dla nas bibliotekę do pisania aplikacji w Java z wykorzystaniem możliwości jakie daje podpięcie JavaScriptu i komunikacji asynchronicznej. Wszystko jako cienki klient, żeby uniknąć instalowania u użytkownika czegokolwiek poza przeglądarką internetową. Na tapetę mieliśmy wziąć GWT i JSF z rozszerzeniami. Ostatecznie stało się trochę inaczej, ale w tym odcinku zajmę się doświadczeniami z GWT.

Po pierwsze piszemy z użyciem Netbeans 6.1.  Swoją drogą świetne narzędzie tak ułatwiające pracę, że pisząc pierwsze programy w Javie miałem uczucie jakby to Netbeans pisały, a ja jedynie podpowiadał im co mają robić. Naturalne było wykorzystanie pluginu GWT4NB. Konfiguracja nie nastręcza problemów i szybciutko można było się zabrać za tutoriale.

Tutorial jest stosunkowo przejrzysty – przynajmniej do miejsca, gdzie pokazywana jest komunikacja asynchroniczna. Tu zaczynają się schody. Nie dość, że w jednym z miejsc wkradł się zdaje błąd (wybaczcie piszę z pamięci, a nie mam teraz ochoty na analizę różnic między moim kodem, a tym z tutorialu – problem dotyczył użycia adnotacji @RemoteServiceRelativePath), to wskutek pewnego błędu w konfiguracji Servletu spędziłem kilka dni na bezowocnych próbach połączenia.

Nie są to jednak trudności nie do przeskoczenia, a wynikały głownie z moich znikomych doświadczeń w tym zakresie. Mimo wszystko GWT nie wywarło na mnie oszałamiającego wrażenia. Przyczyn jest kilka.

Po pierwsze, do wywołania jednej funkcji po stronie serwera trzeba zbudować trzy klasy. Do tego dochodzi konfiguracja Servletu.

Po drugi wynik w praktyce musi być albo typem prostym, albo Stringiem zawierającym XML. Stosunkowo mało to wygodne – szczególnie, że po stronie klienta nie można używać własnych klas.

Po trzecie standardowy wygląd oferowany przez bibliotekę GWT nie powala (mówiąc wprost jest brzydki jak noc). Owszem można definiować własne arkusze CSS, ale jakby nie o to chodzi.

Po czwarte wynikowy plik war z załączonymi bibliotekami aplikacji, która absolutnie nic nie robi ma bodajże 16 MB. Na pewno zdrowo powyżej 10.

Po piąte wydajność nieco odbiegała od oczekiwań.

Ogólnie GWT nie zrobiło na mnie wrażenia rozwiązania, z którego chciałbym stale korzystać. Szczególnie, że nie było jedynym jakie testowałem. Gdybym miał napisać szybko aplikację z wykorzystaniem technologii AJAX raczej nie skusiłbym się na Google Web Toolkit. Istnieją biblioteki o podobnych możliwościach, które wydają się być sympatyczniejsze w wykorzystywaniu.

Read Full Post »

Jak ubić Ubuntu Server…

Ubuntu LogoUbuntu jest systemem zdecydowanie desktopowym, choć występuje też w wersji serwerowej. Z różnych względów na wirtualnych serwerach (VMWare) postanowiono zainstalować Ubuntu Server 8.04 (wersja 64 bitowa). Oczywiście moje i kolegów potrzeby nieco różniły się od standardowych i w wyniku pewnych eksperymentów, które przy tej okazji czyniliśmy udało się nam załatwić serwer na amen. Dwa razy pod rząd. W przeciągu 15 minut.

Najpierw o objawach. Po wykonaniu pewnych operacji system przestał dostrzegać strukturę katalogów. Wywołania typu

ls

czy jakiekolwiek inne dawały komunikat błędu informujący, że plików nie znaleziono, choć „bashowe sztuczki” upewniły nas w czymś zgoła przeciwnym. Po próbie oczywiście restartu „kernel panic”. Co tak na prawdę się stało – jeszcze nie wiemy. Nie było jak dotąd czasu na dogłębną analizę. Wywołanie przez nas dwóch następujących komend absolutnie nie powinno mieć takiego finału.

sudo ln -s /lib /lib64
sudo rm /lib64

Tworzymy link symboliczny do katalogu /lib o nazwie lib64, a następnie go usuwamy. I nic więcej.

Jeszcze nie wiemy, czy problem może dotyczyć także innych wersji Ubuntu lub dystrybucji linuksa i czy jest związany z systemem plików (XFS), czy może z czymś innym. Do własnych eksperymentów nie zachęcam – szczególnie w obecności istotnych danych.

Read Full Post »

Vista Wio

Zmiana komputera to prawie zawsze konieczność ponownej konfiguracji systemu operacyjnego. Trzeba doinstalować najpotrzebniejsze oprogramowanie, przenieść dane itp. Nic szczególnie trudnego, choć zazwyczaj zżera masę czasu.

O systemie operacyjnym Vista napisano już wiele niepochlebnych rzeczy. Nie przypadkiem. Zaraz popublikacji wyszły na jaw niedostatki sterowników, czy słaba kompatybilność oprogramowania z nowym dzieckiem Microsoftu.

Dziś jest lepiej. Mam kilkoro znajomych, którzy użytkują i nawet sobie chwalą. Ładny interfejs, do którego można się przyzwyczaić, większa dbałość o prostotę konfiguracji.  Na upartego może się podobać. A że teraz dodają go do każdego komputera, który tylko jest w stanie go uruchomić…

Oczywiście nie jest problemem, żeby skasować „komerchę” w imię zasad i zainstalować dowolnego linuksa. Skoro jednak zapłaciłem za licencję, to wypadałoby się z nim chociaż zapoznać. Zdecydowałem się nie upychać linuksa jako drugi system – mimo wszytko to operacja podwyższonego ryzyka, a do moich celów wystarcza wirtualna maszyna. Co więcej z wirtualizacji wypływa sporo innych zalet, więc Vista się ostała. Rozpoczął się proces dostosowywania do moich potrzeb.

Firefox, Thunderbird (tęsnię za KMailem, ale niestety), VirtualBox 2.0, AVG, ZoneAlarm. To poszło bez kłopotów. Przyszła pora na openVPN. I zaczęły się schody. Ściągnąłem wersję 2.0.9 razem z  GUI. Połączenie zastało nawiązane, ale kontakt nie. Ani ping, ani ssh nie komunikowały się z siecią. Podejrzewałem firewalla. Po bezskutecznych poszukiwaniach w odpowiednich konfiguracjach zapytałem Google. Oczywiście odpowiedź spokojnie sobie tam na mnie czekała, chichocząc w kułak. openVPN 2.0.9 nie radzi sobie pod Vistą z dodawaniem routingu. Udaje się to dopiero wersji 2.1 rc11.

Znów kupę czasu jestem w plecy. Z pewną obawą podchodzę do instalacji kolejnego oprogramowania. Miałem już nieprzyjemne doświadczenia choćby z słownikiem angielsko-polskim dołączonym swego czasu do jednego z czasopism. Z drugiej strony jest dużo lepiej niż było. Może więc jakoś uda mi się z Vistą współpracować, bo szczególnie lubić to się raczej nie będziemy.

Read Full Post »

VirtualBox LogoWydawało mi się, że VMPlayer jest dla mnie idealnym rozwiązaniem.Umożliwił mi bezpłatne korzystanie z drugiego systemu bez konieczności ponownego uruchamiania komputera. Sama wygoda.

Przypadkiem trafiłem na inne rozwiązanie. Wyobraźcie sobie dostępne za darmo oprogramowanie do wirtualizacji, które ma możliwość współdzielenia schowka między systemami i bezkolizyjne poruszanie kursora myszy między oknem maszyny wirtualnej, a systemem głownym. Na dodatek produkowane przez znaną i cenioną firmę. Mowa o VirtualBox firmy Sun. Tak, tej od Javy.

Interfejs konfiguracyjny mamy zdecydowanie bogatszy niż w VMPlayerze. Maszynę wirtulaną możemy stworzyć sobie całkowicie od podstaw, w tym samym oknie, w którym za chwilę ją uruchomimy. Montaż urządzeń w trakcie pracy jest zdecydowanie łatwiejszy niż w przypadku konkurenta. Na pierwszy rzut oka deklasuje rywala. Na dodatek jest też wersja dla Mac OS X (i całej gamy dystrybucji linuksa w postaci gotowych do instalacji pakietów).

Inne uwagi? Dźwięk działa bez zarzutu. Mamy możliwość filtrowania urządzeń podpinanych przez USB. Można też podpinać obrazy dysków w formacie vmdk (używany przez VMWare). Niestety z test ów jakie przeprowadziliśmy z kolegami wynika, że systemy operacyjne instalowane pod VMWare nie działają poprawnie po podpięciu do VirtualBoxa. Zauważone problemy to np. brak obsługi myszy i klawiatury w trybie graficznym (Windows XP), zatrzymanie startu systemu (Mandriva) i klęknięcie serwera X (pochodna Ubuntu).

Gdyby pozytywów było komuś mało, to VirtualBox występiuje w wersji OSE (Open Source Edition) dostępnej na licencji GPL v.2. Różni się ona od wersji binarnej zaledwie drobnymi szczegółami.

Z tym programem koniecznie należy się zapoznać. Nawet jeśli nie przypadnie wam do gustu, to nie wypada nie wiedzieć jak działa.

VirtualBox 1.6 testowałem w wersji dla Debiana 4.0.

Read Full Post »

« Newer Posts - Older Posts »