Ciekawe kto zauważył, że wchodząc na stronę główną Suna zostaje się przekierowany na stronę główną Oracla.
Oracle postąpił nieco brutalnie wycinając z sieci starą domenę i usuwając stare logo jakby nie byłoby nic a nic rozpoznawalne.
Zastanawia mnie jaki będzie stosunek do projektów SUN’a open source o które pod swoją pieczą posiadał. Jasne, że otwartego kodu nie można znowu zamknąć (na prawie się nie znam, ale licencja GNU GPL przewidziała taki scenariusz). Moim zdaniem wystarczyło by odciąć fundusze i taki projekt by padł dosyć szybko, jeśli by nie padł to pracy zostały by spowolnione.
Moim zdaniem jutro nie zostanie zamknięty żaden projekt, ale za pół roku/rok kiedy to Larry Ellison znudzony kupowaniem kolejnych odrzutowców, sprawdzi sprawozdanie finansowe firmy i zobaczy że na open source nie zarabiają wystarczająco pieniędzy aby mógł kupić nowe buty do nowego Rollsa. To nie będzie się długo wahać i naciśnie czerwony guzik usuwając projekt zanim zdążyłeś zrobić lokalną kopię zapasową swojego ulubionego programu.
Firma SUN była ‘przyjazną’ dla open source, jako że otwierała co rusz nowe projekty. Mogło to wynikać z oczywistego faktu przejęcia lub bankructwa firmy. Tak, prezesi chcieli zostawić firmowe legacy (w po polsku nie to słowo nie ma takiej mocy).
Moje przewidywania są takie projekt Java będzie dalej szedł naprzód z nadzieją, że przyszła wersja będzie tak dobra jak .NET (Java to idiotyczny język programowania na dzisiejsze czasy, ale sama maszyna JVM posiada wiele mocy i może nie co zamieszać).
A OpenOffice padnie dlatego, że:
Kolejne wersje programu muszą dodawać nowe funkcję
…a już mają nieźle zaśmiecone UI
…a coś takiego jak wstążki wymyślili chłopaki z Redmont
…a użycie ich w swoim produkcie spowoduje śmiech na sali (ja będę się śmiał najgłośniej)
Szary użytkownik mając do wyboru pracę z MS Office a OpenOffice wybierze to pierwsze, zawsze.
Zostaje mieć nadzieję że VirtualBox’owi, Oracle nie obierze daty eksterminacji.
Witajcie, dziś przedstawię jak znaleźć i pobrać źródła programu napisanego w licencji Open Source.
Używam systemu Linux, dystrybucja openSUSE 11.2 zainstalowana na maszynie wirtualnej VirtualBox na systemie Windows.
Zakładam, że w systemie masz zainstalowane całe oprogramowanie które skompiluje wybrany przez Ciebie program z źródeł.
Jako program, który nad którym będę się znęcał będzie popularny program GNU Grep (program grep posiada tysiące odmian, dlatego podkreślam że to ma być ‘odmiana’ GNU).
Jako, że grep jest jednym z programów podstawowych dla każdej dystrybucji Linuksa można popaść w kłopot, bo gdzie mogą się znajdować najbardziej aktualne źródła programu.
Otóż grep został stworzony przez Stallman & spółka™ to źródła znajdują się na stronie http://savannah.gnu.org oficjalnej stronie hostującej programu GNU. Tu też parę kliknięć do strony projektu grep.
Gdy tam już jesteśmy można wybrać pomiędzy pobraniem paczki formie tar.gz (zakładka Download) czy też ściągnąć źródła z systemów kontroli wersji takich jak GIT czy CVS (zakładka Source Code).
w katalogu grep miałem ściągnięte źródła. Wchodzimy do katalogu i dalej trzeba uruchomić ./bootstrap (nie w każdych źródłach to występuje), następnie ‘./configure’ i ‘make’
Jeżeli nie wykonamy ‘make install’ to skompilowany przez nas program nie zastąpi tego którego mamy już zainstalowanego. Alternatywą jest użycie ./configure –program-prefix=PREFIX wtedy program będzie się nazywał PREFIXgrep. (za PREFIX można dać co się chce na przykład nasz nick).
Widziałem w życiu wiele przykładów, lepszych i gorszych.
Asembler jest trudny z natury, bo instrukcji dla procesora nie wymyślano aby było łatwo. Wymyślano by było.
Osoby chętne do nauki Asemblera wpisują w wyszukiwarkę “Asembler hello world” i trafiają na przykład który po przez przerwanie procesorowe (zgodne dla DOS’a) wyświetlają napis zakończony znakiem dolara ‘$’.
Problem w tym, że nie ma informacji jak cyfrę wyświetlić, lub też ciąg znaków wygenerowany podczas trwania programu bądź jak wyświetlić znak dolara.
Stwierdziłem, że:
Znajdę taki przykład, w którym proste operacje będą proste.
Ostatnio został wydany, a raczej zaktualizowany MinGW port gcc na Windows. Do tej pory można było korzystać z gcc-3.4.5 więc skok w numerkach jest duży.
Dlaczego uważam to za ważne? Ułatwi to portowanie aplikacji pomiędzy Windows/Linux/Mac OS X w łatwiejszy sposób.
Do tego można korzystać już z ‘nowego’ słowa kluczowego auto:
// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40278#undef __STRICT_ANSI__#include <iostream>#include <vector>usingnamespace std;int main(){const vector<int> x ={1, 2, 3, 4, 5};for(auto i = x.begin(); i != x.end();++i){cout<<*i <<"\n";}}// g++ -Wall -Wextra vector.cc -o vector -O3 -s -std=c++0x
A wczoraj został wydany Eclipse Galileo. Wielkie, kolosalnych rozmiarów IDE które potrafi tyle co Emacs. Z setkami pluginów i różnych odmian jak Zend Studio czy Aptana, staje się jasne że Eclipse zostaje ciągle wybierany jako środowisko programistyczne.
Sam korzystam z Aptany do spraw typu HTML/CSS/JS/PHP i powiem, że jest to narzędzie cudowne.
Galileo przynosi szereg zmian względem poprzedniej wersji środowiska, wydanej niespełna rok temu. Użytkowników systemu MacOS X ucieszy fakt przepisania interfejsu Cocoa. Programistom, którzy piszą w Javie udostępnione zostało narzędzie Memory Analyzer, które ułatwi śledzenie wycieków pamięci aplikacji. PHP Development Tools jest pierwszym stabilnym rozwiązaniem na rynku w pełni wspierającym PHP 5.3. Narzędzie Mylyn, integrujące środowisko z bugtrackerami Bugzilla, Trac czy JIRA, obsługuje format WikiText. Dodano również narzędzie do obsługi formatu styli XSL, framework uruchomieniowy Swordfish oraz narzędzie Xtext do obsługi DSL (Domain Specific Languages).
EDIT: Przepraszam za błędy językowe. Pisałem szybko aby chęć nie odeszła.
Była sobie klawiatura. Klawiatura ciężka, z przeraźliwym klikiem (głośnia), klawisze ciężko chodziły a jak się je wdusiło do końca palec nie miał miękkiego zakończenia. Bolesne doznania. A do tego w białym kolorze nie pasującym do reszty sprzętu. Ale wszystko co złe się kończy po tym jak ’strzałka w dół’ postanowiła odpaść z gry. I powędrowała na podłogę
Każdy wie jak ważna jest klawiatura, najczęściej wykorzystane narzędzie wejścia. A dla osób związanych z pisaniem blogów czy też programowaniem można powiedzieć że klawiatura jest ważna.
Przed wybraniem się na zakupy trzeba wiedzieć czego szukać.
Moją listą życzeń to:
Układ z małym enterem (klawisz nad enterem ‘|’ i ‘\’ )
Mało klawiszy multimedialnych, nie mam zamiaru płacić za coś czego nie będę korzystał
Czarna
Klawisz nie jest na wysokim, wąskim słupku, przez to nie porusza się prawo lewo
Bez kliku
Miękka w dociskaniu i lekka
Z kablem
Nie wydać na nią za dużo
Uzbierało się tego trochę. Ale w nadziej, że coś znajdę udałem się do miejscowych sklepów z komputerami, sprzętem itd.
Pierwsza klawiaturę którą znalazłem była dosyć prosta, czarne z klawisze z paskudnym srebrnym wykończeniem powierzchni nie klawiszowej. Opada.
Idę dalej. Mijam klawiatury firmy Logitech, klawiatury, drogie z duża ilością klawiszy dodatkowych. Inne klawiatury mają układ według ich pomysłu. ‘Insert’ nie istnieje. Jego miejsce zajął duży ‘Delete’, co to ma być? Klawiatury z przyczepionymi ‘Insert’, ‘Home’ itd do Backspace, Entera i Shifta.
Lekko załamany, że nic ciekawego nie mogłem znaleźć, zostało szukanie w internecie. Wadą szukania klawiatury w internecie jest jaki że nie sprawdzisz jaka jest w dotyku, jak chodzą klawisze itd. Szukałem jakiś porady, polecenia jakieś firmy i tak dalej. Natrafiłem na rekomendacje klawiatury sygnowanej nazwą Microsoft. Poszedłem tym tropem.
Ostatecznie zdecydowałem się na pierwszą z nich. Nie byłem pewny jak pracuje się na ‘załamanej’ klawiaturze. Zamówiłem na Allegro i przyszła. Powiem że jestem zadowolony z użytkowania jej (piszę na niej od paru tygodni). Zaletą klawiatury są dwa klawisze dodatkowe, wyciszanie dźwięku i przycisk uruchamiający kalkulator. Wadami strzałki które są dziwnie uformowane, jakoś mało miło się z nich korzysta oraz klawisz ‘A’ który jest głośniejszy od reszty.
publicclass LabelWithMemory : Label
{privatestring[] memory =newString[10];publicstringthis[int index]{
get
{if(index >=0&& index <10)return memory[index];elsereturn"";}
set
{if(index >=0&& index >10)
memory[index]= value;}}}
Dostęp do kolejnych komórek pamięci jest przez nazwę naszej labelki i indeks.
Jak to już mamy, pojawił się nowy element w Toolboksie, nasza nowa kontrolka
.
W trybie Design przeciągamy ją w wybrane miejsce.
Krok dalej…
Tak wygląda aplikacja na której wykorzystamy wykonaną przez nas lablekę.
W przypadku jak ktoś naciśnie na przycisk zmiany tekstu, to obecny jest zapisany w nazwa labeli oraz w pamięci stringów. Tekst jest pobierany z tekstboksa
Funkcja ściąga tekst z klawisza i parsuje go jako cyfrę tak powstaje indeks z którego trzeba ściągnąć tekst. I tak doszliśmy do końca
Jeśli chciałbyś kod źródłowy to nie krępuj się, prześlij e-mail do mnie(soltys z dopiskiem uznam.org).
Space Pips to kolejna gra flash która pożera czas. Prosta i dająca mnóstwo frajdy z grania.
Latasz stateczkiem (ten biały na screenie) i niszczysz inne. Z zniszczonych statków kosmicznych wypadają małe kolorowe kulki które są pieniądzem w grze, gdy zbierzemy ich wystarczająco dużo możemy kupić ulepszenie broni, odnowę życia czy pomagające statki w walce z przeciwnikami.
Sterowanie statkiem to klasyczny WASD lub strzałki (wariant dla leworęcznych). Celowanie i strzelanie myszą, a gdy sytuacja stanie się nieciekawa można użyć Bomb, spacją (bomby można kupić także w sklepie). A do Sklepu wchodzi się klawiszem Q lub ESC.
Ostatnio kupiłem książkę Programowanie C# wydawnictwa O’Reilly/Polska Helion. Autora Jesse Liberty.
Krótko:
Książka jest zła, źle napisana, droga,wiele błędów, długa i nudna.
Długo:
Zazwyczaj gdy kupowałem książkę wydawnictwa O’Reilly wiedziałem, że nie wydam pieniędzy w błoto. Tutaj ta zasada nie obowiązuje.
Autor rozpisuje się w łatwych tematach a skąpi wyjaśnienia przy zagwozdkach. Wiem, że od podstaw to ‘Wprowadzenie C#’ Okej, okej, ale nie potrzebuje tłumaczenia typu ‘jak działa switch’ wolałbym kompletne wytłumaczenie elementów które nie występują w C++ a są C#.
Totalny chaos jeśli chodzi Rozdział i temat. Wprowadza 5 nowych rzeczy a potem mówi że to opisze 200 stron dalej. CHAOS. Użycie stickerów ratuje.
Część I książki to przelot przed język dając trochę miejsca interfejsom oraz delegatom. A reszta to dotknięte (nawet nie ruszone tematy), które zaczynają się w sposób ‘kup tą książkę’, ‘kup tą książkę mojego autorstwa’… Nie oczekuje że opiszę się każdy z C# język ale można mniej a dokładnej.
Pierwszy raz zauważyłem aby książka miała tyle błędów. Ortografy czy błędy stylistyczne wybaczę, ale nie błędy w kodzie, czy też nie uważne tłumaczenie itp.
Zamiast ’skrobie’ może być ‘piszę’ dla tych którym to przeszkadza: sed s/skrobie/pisze
Ostatnio Ci którzy obserwują mnie na Blipie zauważyli, że przeważą wpisy z tagiem ‘csharp‘ nic dziwnego bo ten język od Microsoftu pochłoną mnie w całości. I nie widzę świata poza nim.
Ale jak to się zaczęło.
W szkole pisałem program, grę Pong (Dwie paletki i jedna piłka). Pierwszy program w C++ do którego podszedłem w sposób obiektowy. Jednak nie było czegoś co by wmuszało ciągłe myślenie obiektowe jak, śmierć z kosą, aby nie dać się pokusie tworzenia wszystkiego strukturalnie, a wiem, że złe podjęcie problemu na początku powoduje nie potrzebny nakład pracy.
C++ wydaje mi się bardzo zgrzybiały, nie nowoczesny. Tak że postanowiłem go porzucić i szukać czegoś nowego.
Ruby, Python, PHP
Ruby - czytałem 0,5 godziny jakąś książkę o tym języku i byłem zachwycony jak prosty jest ten język. Wręcz można powiedz że piszesz program hasłami po angielsku a Ruby robi to tak jak napisałeś. Nie trzeba pisać ogromnych programów po setki linijek, a wystarczą małe kilka, kilkanaście linijek.
Wtedy zapaliła się czerwona lampka, dla mnie – małe programy == mało pisania == zero komentarzy.
Osobiście wole się męczyć i klepać wielkie ilości kodu i mieć kod samo komentujący się, niż do którego trzeba się dodatkowo wysilać. Odpowiednio dobrane nazwy wystarczą, aby nie trzeba było dodawać bilionów linijek komentarzy, a bardzo mądre słowa napisał JeffAtwood ( a co, cytujmy znanych).
Szybkość programowania dla mnie nie jest najważniejsza jeśli była wyważona pomiędzy masochizmem a lenistwem, było wszystko OK. Lubię szukać metody na przyspieszenia działania fragmentu kodu.
Python - rozwija obecnie 2-3 wersje 2.5/2.6/3.0 a użytkownik Linuksa posiada dodatkowe biblioteki dla każdej wersji. Koszmar. Wydanie wersji 3.0 zapewne spowolni rozwój.
PHP - Taaaa.
A może JAVA?
Początkowo powiedziałem nie chce kawy i że nie chce tam wyjeżdżać.
Pierwszy kontakt z nowym językiem jest na płaszczyźnie ‘umożliwi kompilacje “Hello World”‘. Pociągnąłem JRE (Java Runtime Environment) oraz JDK (Java Development Kit). Okey do wszczęcia potrzebuje jeszcze jakiegoś IDE, NetBeans czy Eclipse.
Na pierwszy ogień leci NetBeans. Uruchamiam (długo, myślę pierwsze uruchomienie to dlatego). Tworzę nowy, pusty projekt. I przepisuje z zapałem Hello World:
Wszystko było słodko dopóki nie doszedłem do linijki ‘System.’ wtedy NetBeans zabrał się z zapałem do pomagania mi w pracy, tyle że to pomaganie trwało tyle że zaparzyłem herbatę. Okej okej miałem parę programów włączonych, wyłączyłem je i przy ‘System.out.’ miałem tylko czas aby się upewnić czy woda się gotuje. Spojrzałem na jak Java zjada mi zasoby zarządza pamięcią. Na ‘Zaćmienie’ nie miałem czasu i sił witalnych.
Nie przypominam sobie abym korzystał z aplikacji napisanych w Javie (czyli jednak coś Javą jest nie tak). Do tego słyszałem nie niepokojące głosy odnoście Sun’a i JavaFX (że traci dochody a drugi, że się spóźnia).
Czas na C#/CSharp
C#,C#,CSharp skąd ja to znam… Czyżby to produkt ‘mikro-oprogramowania’
Wielu narzeka narzeka na Vistę, jednak Microsoft posiada kilka całkiem, całkiem fajnych produktów jakich jak Office 2007, Notatnik [1] i Visual Studio. Zdecydowanie sądzę że Visual Studio wyszedł im bardzo dobrze. Co więcej opublikowali go w częściach za darmo( wersje są nieco okrojone ). Do tej pory chwaliłem sobie (natywny) kompilator C++ w Visual C++
[1] Dobrze przeczytałeś Notatnik – jest prosty i szybki, używam go codziennie. Polecam ustawić czcionkę ‘Consolas’ i skorzystać z zaawansowanych funkcji i nie mów, że korzystasz z Notepad++, Lamer.
Identyczny pierwszy styk jak z Javą ‘umożliwi kompilacje “Hello World”‘ pobieram instalator, 2 sekundy i instalator się ściągnął. Mnie nie oszukasz, czuję jakiś kant i rzeczywiście był. Instalator mały bo on służył do ściągania, reszty. Coś takiego ma służyć rozłożeniu obciążeniu łączą? Tak czy siak. Instalator ściąga co tam potrzebuje. Czas na kolejną herbatę/kawę. Na koniec Pan Instalator powiedział że powinienem w ciągu 30 dni zarejestrować kopię. PO CO? Już się przecież męczyłem przy sumiennym wypełnianiu ankiety przy Visual C++, a teraz to samo przy Visual C#. Myślałem, że Microsoft zaraz dostanie informacje że mieszkam w Nigerii ::Zły śmiech::. Loguje się na stronie z Live ID i co ? Mam wszystko wypełnione po ostatnim rejestrowaniu. Szybki zjazd w dół, kilk ‘Register’ i mam klucz który wklejam i tak jestem posiadaczem dożywotniej(?) licencji.
MSDN to rzecz przez którą pokochałem C# jako język programowania. Co nie wpiszesz, dostaniesz podpowiedz jak masz zadanie zrobić. A poza tym wiecie. Coś zaiskrzyło….
Niedługo dowiecie co jeszcze spowodowało że mogę śpiewać to:
Wpis nie jest sponsorowany przez Microsoft. Muszę kończyć Steve dzwoni…
Zostałem poproszony abym odpowiadał za muzykę na sylwestrze 2008 – 2009. Nigdy się w takie rzeczy nie bawiłem, także nie miałem muzyki odpowiedniej na sylwester i a wiadomość, że będę za to odpowiedzialny dostałem z opóźnieniem (1-2 przed sylwestrem). Nie bawiłem się w miksowanie, zadaniem moim było dobieranie kolejnych piosenek, aby się nie powtarzały, ani nie były monotonne.
Winamp – Powszechnie znany odtwarzacz Mp3 i innych formatów za pomocą wtyczek. Kluczowym dla mnie była możliwość zgrania płyt od innych uczestników imprezy. Ripowanie płyt do mp3 jest tylko w wersji PRO (za którą ofc trzeba płacić). Wyjściem z sytuacji, bez okradania twórców Wiampa jest skorzystanie z pluginu do ripowania w format ogg. Całe szczęście, że Winamp nie problemu z odtwarzaniem otwartego formatu nie tak jak Windows Media Player. Powodami przez które wybrałem Winamp do zgrywania a nie inny program były:
O jeden program mniej w systemie
Po zgraniu płyty CD mam piosenki w dostępne w Bibliotece Mediów
Oczywiście z wybraniem Winampa kryło się większe prawdopodobieństwo, że program odmówi posłuszeństwa i będę klops. Na cała szczęście przez całą noc Winamp spisał się na 5+.
Mp3tag – Program tak świetny, że postanowiłem przekazać datek na rozwój [1]. Program stał się niesamowicie przydatny przy masowej zmianie wykonawcy, wtedy kiedy dostawałem płytę z składanką. Szybciej rozpoznaje się utwory po tytule niż po wykonawcy. Poza tym możliwość pobierania inforamcji do tagów z internetu. Ogólnie miodzio program.
[1] – Przekaże jak będę miał konto na PayPalu
Paweł Sołtysiak, posługuje się nickiem Soltys bądź MrRandom. Wielki leniuch oraz miłośnik programowania "użytecznego w życiu". Kocha Perla, lubi C++ oraz inne języki kiedy ich potrzebuje. Czasem lubi wydawać głosy pirackie (arrr... arrr...)