Korporacjonizm

Druga sprawa, nie związana z informatyką, dotyczy moich przemyśleń na temat obecnego stanu rzeczy i ogólnego fiaska demokracji, którą zabiła socjotechnika. Obecnie nie głosujemy na program, rzeczywiste działania, czy ludzi, na których wydaje nam się, że głosujemy… Głosujemy na tych, którzy lepiej nam wmówią, że to właśnie oni powinni rządzić krajem (de facto zarabiać pieniądze za występy publiczne). Przyszedł mi do głowy pewien ustrój, który niestety miałby sens tylko w momencie zrzeszenia się większej liczby krajów (na dobrą sprawę Unia Europejska dąży do takiego modelu). Otóż… Obecnie polityk zarabia tyle samo niezależnie od tego, czy wypełnia powierzoną mu przez naród misję, czy nie… w związku z tym wszystkie wysiłki może skupić na tym, by ponownie zostać wybranym. Niestety jak wspomniałem, obecnie nie decyduje o tym koncepcja władzy i jej wypełnianie, a dobra kampania wyborcza. Społeczeństwo jako masa niestety jest łatwe do manipulowania.

W tym miejscu pojawia się scena dla nowego ustroju - Korporacjonizmu, aczkolwiek w innym wydaniu, niż ten znany z historii, władza cechów itd.

Podstawowe założenia:

  1. Człowiek może przenieść się na teren dowolnej korporacji kiedy mu się to żywnie podoba (tak, jak teraz do innego kraju).
  2. Korporacjami rządzą zarządy, które dobierają się na zasadzie kompetencji. Im lepsi ludzie, tym więcej korporacja przynosi zysków, tym więcej do podziału w ekipie rządzącej.
  3. Korporacje muszą walczyć o to, by przyciągnąć mieszkańców innych korporacji poprzez dobrą organizację np. służby zdrowia, transportu, służby policyjnej, standardów prawnych itd.
  4. Istnieje instytucja ustalająca prawo międzykorporacyjne (np. właśnie dotyczące swobody podróży między korporacjami, lub dostępu do informacji  porównawczych miedzy korporacjami i innych praw, które muszą być respektowane, a korporacje w pogoni za zyskiem mogłyby chcieć je ograniczyć)

Tyle w zasadzie podstawowych informacji. Moż napiszę jakiś referacik na ten temat, ale jest to zbyt rozległy temat na pojedynczego posta. Jednocześnie mam świadomość, że obecnie przywiązanie do tożsamości narodowej i wartości swobody wyboru w systemie demokratycznym, iż wszystkie próby wprowadzenia takiego ustroju władzy skończyłyby się fiaskiem.

Posted on 12 May 2009
Under: Uncategorized | 1 Comment »

Brak MP i początki nowego projektu

Po długiej przerwie wracam do życia, aczkolwiek bez liniki kodu dla publiki. Moje obecne prace skupione są na aplikacji, która będzie działać wewnątrz firmy… Że formalnie nie należy to jeszcze do moich obowiązków (trzeba się jakoś sprzedać), robię to po pracy. Z tego powodu na dziś nie przygotowałem żadnego MiniProgramu… Drugi powód jest taki, że zwyczajnie nie miałem czasu i ochoty na wymyślenie pomysłu dla MP. Tradycyjnie wszelkie pomysły mile widziane w komentarzach.

No i wracając do projektów. Zacząłem rozmyślać nad uruchomieniem nowego projektu. Kolejny multicommunicator, ale…

  • Obsługuje różne protokoły różnych innych komunikatorów (nie ma własnego)
  • Zakłada implementację wszystkich funkcjonalności danego komunikatora (przesyłanie plików [które obecnie średnio działa np. poprzez protokół gg w tlen], rozmowy głosowe, skanowanie poczty [jak w przypadku tlena])
  • Protokoły, jak to się już obecnie przyjęło, działałyby na zasadzie pluginów, co daje łatwy sposób dodawania nowych pluginów i powoduje, że mogę przygotować jakieś małe sdk do ich robienia.
  • Projekt zakłada multiplatformowość

Mówiąc szczerze jeszcze nie wgryzałem się w dostępne w necie protokoły i niewykluczone, że rzeczywistość jeszcze zrewiduje moje poglądy na temat możliwości, lub sensu przedsięwzięcia. Tym czasem pozdrawiam.

Posted on 12 May 2009
Under: Programming, General | No Comments »

MP#3 & MP#4 i pare słów na temat NetBeans na Ubuntu

W końcu gdy znalazłem trochę czasu na pisanie. Oto dwie aplikacje w ramach projektu MiniProgram. Jedna to wariacja na temat proponowanego w komentarzach Panica.

Druga aplikacja, to saper lub minesweeper, jak kto woli. Też dość niestandardowy, bo zrobiony na hexach (sześciokąty - dla nieanglojęzycznych). Wydawało się, że będzie więcej problemów, ale jednak nie było aż tak inaczej. W sumie zrobiłem model danych do sapera, który dość łatwo przerobić na dowolne siatki, więc wiecej czasu poświęciłem na przypomnienie sobie zabaw na Graphics’ach.

Jeśli chodzi o grafikę, to nie jest to moja własność - jest całkowicie skopiowana z gnomemine - saper w wersji linux’owej

Ze względu na wspomnianą zabawę wzbogaciłem swoją bibliotekę o kolejne metody, tym razem tworzące BufferedImage na podstawie ścieżki dostępu. Niestety nie napisałem tego w docsach, jeśli nie zapomnę, to przy następnej okazji się pojawi - ścieżka dostępu we wszystkich ImageUtils prowadzi od pliku z klasą wywołującą, nie od folderu, w którym jest uruchamiany plik. Dzięki temu można przechowywać grafikę wewnątrz archiwum jar i udostępniać całą aplikację w jednym archiwum. Bazuje to na mechanizmie refleksji i klasach, nie na plikach, dzięki czemu było to możliwe.

Obie aplikacje, wraz z źródłami, jak również bibliotekę można pobrać z linków poniżej. Biblioteka jest również dołączona do samej aplikacji Saper. Życzę miłej zabawy, a sobie licznych komentarzy i kolejnych pomysłów.

I w końcu oberwie się również NetBeans’owi. Pomijając fakt, że na linux GDI dla swingów nie do końca działa (nie mogę zmieniać wielu właściwości, ale również wygląd okna, szerokość przycisków itd. różni się znacząco od tego zamieszczonego w GDI). Problem pojawia się również z zapisywaniem wersji za pomocą Subversion na dysk zewnętrzny z systemem plików NTFS. Część rzeczy dopisało, części nie… Obecnie staram sie nie stracić historii wersji i jednocześnie przywrócić stan repozytorium sprzed próby wprowadzenia zmian. Historia pokaże, czy się uda. W konkluzji mimo iż już zaczynałem lubić ubuntu niestety programowanie pozostanie u mnie domeną systemów spod znaku motyla.



qbixlib - qbixlib w wersji binarnej, do pobrania i używania
qbixlib javadoc - API do wspomnianej wyżej biblioteki
Saper - Wspomniany już saper na hexach
Panic - kliknij i spróbuj kliknąć jeszcze raz, jak najszybciej się da

Posted on 22 March 2009
Under: Programming | No Comments »

Simple Installer

Ponownie pewien postęp na drodze do stworzenia mojej aplikacji i właściwie ostatni krok do tego, by można było ją udostępnić testerom. Najpierw kilka warunków, które musiały być spełnione przez mój installer:

  • instaler i rzeczy instalowane muszą zawierać się w jednym pliku
  • możliwość wprowadzenia instalacji na koncie z ograniczeniami
  • program napisany w javie, bo obecnie jest mi to najbliższy język programowania

Może instaler jest słowem nadwyrost względem kodu, który napisałem, ale po dorobieniu GUI robi to, co do niego należy - kopiuje odpowiednie pliki w odpowiednie miejsca. Na podstawie klasy JShortcut, z której też w aplikacji korzystam, można dodać tworzenie skrótu na pulpicie, a w następnych wersjach byćmoże dodam skrót do autostartu i MenuStart. Na razie jest to bezwzględne minimum, by zapewnić jako taką wygodę w operowaniu.

Sposób korzystania bardzo prosty - do archiwum jar z instalerem i jakimś mainclassem do uruchamiania installera dogrywamy folder Install i ewentualnie Optional. W folderach umieszczamy pliki do skopiowania i tyla roboty - wystarczy stworzyć obiekt.

Druga sprawa to fakt, że chyba już na stałe przerzuciłem się na NetBeans. Ma kilka mankamentów, kilka skrótów rozwiązało moje poprzednie zastrzeżenia, więc jest ok. A dodatkowo ładnie generuje html bez żadnych pluginów.

Dodatkowo: nadal czekam na propozycje miniprogramów w komentarzach.


Linki i załączniki:
installer

Posted on 25 February 2009
Under: Programming | 5 Comments »

Updater

Wreszcie po sesji (częściowo zdanej) mam trochę czasu, by przysiąść do swojego projektu. Jednym z ważniejszych modułów przed wkroczeniem do fazy testów jest możliwość robienia w prosty sposób aktualizacji, by moi “testerzy” się nie męczyli kopiując co chwilę jakieś pliki, które modyfikowałem.

Poniżej prezentuję więc moją implementację prostego systemu aktualizującego:


Linki i załączniki:
updater

Posted on 10 February 2009
Under: Programming | No Comments »

Miniprogram #2 + kawałek filantropii

Tak się jakoś stało, że ostatnio zostałem poproszony o zrobienie małej pracy w C# na jeden z przedmiotów… Efektem jest gierka symulująca w pewnym ograniczeniu grę BlackJack z krupierem korzystającym z zasady tzw. miękkiej siedemnastki.

Program działa na jednej talii, ale zaimplementowane klasy obsługują dowolną ich liczbę. Jest możliwość sterowania również, czy krupier ma korzystać z wspomnianej zasady hit’owania przy miękkiej siedemnastce. Tym razem z uwagi na fakt, że jest to C#, dawno w tym nie pisałem i nie chce mi się oddzielać rzeczy potrzebnych od mniej potrzebnych związanych z projektem, a nie źródłami, nie zamieszczam źródeł. Program do ściągnięcia pod tym postem.

Drugą sprawą jest baner, który pojawił się po prawej stronie bloga. Nie jest to baner płatny, a raczej ideologiczny. Jestem dawcą krwi od 2004 roku i mocno popieram tę ideę. Obecnie są wielkie braki krwi w każdym z województw. Sam byłem świadkiem, jak w punkcie krwiodawstwa był pewien pan, który nie mógł mieć przeprowadzonej operacji, bo nie było odpowiedniej grupy. Szczęściem akurat ja miałem odpowiednią, ale to tylko kropla w morzu.

Jeśli nie robicie tego z choćby prozaicznego “mnie też może coś takiego spotkać”, to dodam:

  • masz dzień wolny od pracy, lub szkoły (dostajesz zaświadczenie i zgodnie z ustawą masz ten dzień normalnie pełnopłatny).
  • Dostajesz ekwiwalent w słodyczach za krew (zależnie od ośrodka, w moim ośrodku jest to 8 czekolad)
  • Po oddaniu 18 litrów jeździsz komunikacją miejską na legitymację krwiodawcy (da się to zrobić w 3 lata oddając regularnie płytki krwi)
  • Od zeszłego roku możesz odpisać ekwiwalent pieniężny od dochodu w rocznym zeznaniu podatkowym.
  • W jakichś przypadkach masz pierwszeństwo w kolejce (z krwią rzecz jasna na czele w wypadku takiej konieczności) w placówkach medycznych, niestety nie orientowałem się, jakich.

Jeśli twierdzisz “mam popularną grupę krwi, na co ona komu”, to pomyśl - jeśli jest ona tak popularna, to dużo więcej osób potrzebujących posiada tę właśnie grupę krwi, więc jest ona również cennym darem dla innych.

Po szczegóły odsyłam na stronę internetową krewniaków. Znajdziecie tam najbliższe punkty krwiodawstwa i informacje, co powinniście zrobić, by nie jechać na darmo.


BlackJack

Posted on 3 February 2009
Under: Programming, General | No Comments »

Miniprogram #1

Z nudów w czasie przerwy obiadowej bodajże, w pracy napisałem małą aplikacyjkę bazującą na czymś, co krążyło kiedyś kiedyś w internecie. A były to czasy modemów 56k i łączy, na których nawet takiej prędkości nie dało się osiągnąć. Do ściągnięcia pliczek i źródła w jednym zipie. Tak samo, jak autor bloga, o którym wspominałem, będę wdzięczny za propozycje minigierek/programów w komentarzach.

Obecna aplikacja ma kilka małych efektów, które niestety w 10 minut nie zostały wychwycone, a teraz mi się już nie chce tego zmieniać, np:
- po wciśnięciu prawym da się najechać na “tak”
- wystarczy wcisnąć spację, domyśny focus
- problem z rozmiarem okna (nie wszystko się mieści) pod Vistą.


podwyżka

Posted on 29 January 2009
Under: Programming | 4 Comments »

Metafizyka w sosie curry z kaloryferem na wynos

Właśnie skończyłem projekt na PRI, więc przed snem jeszcze wrzucę małą rozmowę, którą popełniło trzech studentów informatyki, którzy powinni w tym czasie omawiać szczegóły spotkania w sprawie nauki na elektronikę.

Read the rest of this entry »

Posted on 24 January 2009
Under: General | 1 Comment »

Mała reorganizacja

Dziś tylko taki aspekt dotyczący kształtu strony, niewiele raczej o samym programowaniu.

Pierwsze primo - na stronie “o mnie” dodałem swoje CV, bo zawsze jestem otwarty na propozycje. Zarówno zatrudnienia, jak i jakiegoś małego zleconka typu projekt na zaliczenie czy cuś.

Drugie primo - dodałem podstronę z downloadem, by było łatwo znaleźć coś, nad czym pracowałem, lub pracuję gdy pojawią się projekty w trakcie:]

Terzio - już spoza spraw organizacyjnych, co by nie był to post zupełnie nie związany z programowaniem - zmieniłem IDE, którym się posługuję. Dotychczas był to Eclipse, ale z przyczyn braku dobrych bezpłatnych wtyczek do projektowania swingów w Javie < JDK6 przerzuciłem się na NetBeans. Nie miałem za bardzo jeszcze czasu przy nim przysiąść, więc nie wiem jeszcze jak to będzie, ale tak na szybko to…

zalety:
- graficzne projektowanie swingów
- regiony (wtyczka cofee-bytes w eclipse przestała być rozwijana)

wady:
- jeśli masz w projekcie kilka klas z metodą main, za każdym razem pyta się, którą uruchomić, zamiast uruchomić ostatnią lub aktualnie otwartą.
- zawsze uruchamia projekt bierząco ustawiony jako główny

Jak trochę się z nim zapoznam, podzielę się swoimi wrażeniami.

Po czwarte: miałem zrobić na ćwiczeniach z Algorytmów i Struktur Danych mały system RSA. Wykładowca prawdopodobnie nie przewidział, że w Javie klasa BigInteger będzie miała wszystkie potrzebne metody zaimplementowane, jak muliplikatywna odwrotność, największy wspólny dzielnik, czy potęgowanie modulo (Dostępne dopiero od wesji JDK6). Chwilowo mam jeszcze problem z generowaniem kodu i kluczy (w półtorej godziny się nie udało wykryć błędu), więc już nie w walce o punkty, ale dokończę to coś w wolnym czasie i zamieszczę wraz z kodami.

I wreszcie piąte: zastanawiam się również nad takim małym projektem, jaki prowadzi autor tego bloga w celach autoterapeutycznych, czyli co dwa tygodnie jakiś programik, gierka - pozwoli to może się odprężyć i sprawi że będę coś pisał nawet, gdy nie będę miał natchnienia na kontynuowanie rozpoczętych większych projektów. Ale to już zostawiam na po sesji.

Się okazuje, że jednak więcej w sumie znowu po fachu, tym bardziej szczęśliwy pozdrawiam i do następnego razu.

Posted on 14 January 2009
Under: Programming, Site | No Comments »

Teza i antyteza

No i skończyło się niedawno 24 lata, czas na małe podsumowanie…

Podzielę się pewnym spostrzeżeniem, do jakiego doszedłem jakiś czas temu… Po dzisiejszej dyskusji z pewnym człowiekiem zdecydowałem się napisać to na blogu, może przyda się różnym osobom w podobnej sytuacji.

Otóż… Swego czasu podchodziłem do tej jakże szeroko rozumianej informatyki na zasadzie, że wszystko, czego będę potrzebował, będę umiał zrobić sam… strony www, programowanie w Java, C++, C#, Visual Basic, do tego narzędzia DTP, photoshop, corel… można generalnie tego mnożyć… Ostanio (jakieś pół roku temu) mnie olśniło - owszem, warto wiedzieć trochę z każdej dziedziny, by mieć świadomość, z czym ma się do czynienia, ale w ten sposób podchodząc do informatyki będzie się umiało wszystko na dość dobrym poziomie (większym, niż przeciętny śmiertelnik, również w światku informatycznym), ale w żadnej dziedzinie nie będzie się na tyle dobrym, by można było stwierdzić, że się coś osiągnęło.

Od pewnego czasu mimo, iż wiem co nieco o innych technologiach i na pewno przydaje mi się to w obecnej ścieżce rozwoju, swój nacisk kładę na Javę z kilku powodów, o czym za chwilę. Ważne jest, że mam już świadomość, że nie będę ogólnie mówiąc wziętym programistą, przy tym wybitnym grafikiem komputerowym (do tego to mi akurat jeszcze brakuje czegoś zwanego zmysłem estetycznym:]) i do tego super sprzętowcem na raz. Przestałem ciągnąć kilka srok za ogon i skupiłem się na czymś, co wydaje mi się mieć przyszłość, a przy tym sprawia mi dużą przyjemność i łatwo mi idzie uczenie się i odkrywanie nowych rzeczy.

Czemu Java? Hmm… z kilu powodów… bo jest ostatnio coraz bardziej popularna i zyskała już miano świetnego języka do pisania aplikacji biznesowych, na których prawdopodobnie definitywnie skupię swoje wysiłki. Co ponadto? C# przecież ma podobną składnię, podobne podejście do zarządzania pamięcią, a do tego można sobie przeładować (większość mówi przeciążyć, ale jest to pojęcie dla mnie kompletnie nielogiczne) operatory, zaimplementować niejawne konwersje typów… No więc… bo nie:] Nie zawsze to, co lepsze zyskuje swój słuszny aplauz, a ja chcę jednak mieć pracę:) Ponadto Java co by nie było jest dużo bardziej elastyczna pod względem systemów operacyjnych. Generalnie jeśli nie korzysta się z bibliotek specyficznych dla systemu, to można przenieść kod bezpośrednio pod Linuxa, czy MacOS i wszystko hula.

To tyle, teraz coś przeczącego faktowi, że skupiam się na Javie, a jednocześnie dowód na to, że przy podejściu “wszystko na raz” w niczym nie będzie się ekspertem, poniżej zamieszczam grafikę, jaką zrobiłem dla znajomych, aby pomóc im wystartować z ichnim blogiem:) Blog dostępny jest pod adresem www.boop-bravo.bloog.pl, jak również w linkach obok. Bloga gorąco polecam wszystkim, mimo że za wiele wspólnego z tematem mojego bloga nie ma:) A oto i efekt mojej pracy:

puiwppl

Posted on 9 January 2009
Under: Programming | 3 Comments »