wtorek, lipca 29, 2008

Delete Driven Development ;-)

Dziś wymyśliliśmy z kolegą w pracy [nazwa jest jego :-)] nowe podejście do programowania - Delete Driven Development.
Cała idea osadza się na kasowaniu kodu po to by zobaczyć czy był potrzebny ;-)
Przewagą DDD lub 3D nad np. TDD jest fakt, że jest wymarzoną metodologią dla projektów z legacy code'm.
Etap pierwszy to losowe kasowanie klas i sprawdzanie co nie działa, w dużych i starych projektach może się okazać, że wszystko nadal będzie działało ;-) Jeżeli coś nie działa to należy się przyjrzeć dlaczego i zdecydować czy szybciej nie wyjdzie napisać tego kawałka od nowa.
Drugi etap to losowe kasowanie metod w klasach, też pozwoli przetrzebić ich ilość ;-)
Etap trzeci to kasowanie linii w metodach.
Etap czwarty to przejście na BDD - Break Driven Development - development sterowany psuciem ;-). Zmieniamy losowe linie w kodzie i sprawdzamy czy ich popsucie coś zmieniło w działaniu aplikacji.

Pełna więc nazwa metodologi to 3D+1B ;-) Skasuje 3 razy, i popsuj raz ;-)

[to powyżej jest nie do końca poważne ;-)]


Podobne postybeta
TDD [Test Driven Development] - genialne, ale trudne :-)
Piszemy serwis społecznościowy w Google App Engine
Google I/O 2021....
Wersjonowanie Rest API - pytanie filozoficzne
Kranówa w herbacie

niedziela, lipca 27, 2008

Pomnóżmy sobie duże liczby ;-)

Licząc coś wczoraj przez chwilę myślałem, że złe wyniki mnożenia to wina zaokrągleń w BigDecimal'u, okazało się, że byłem w błędzie i wina leżała nie po stronie BigDecimal'a a dostarczonej wcześniej wartości ;-)
Jednak zanim doszedłem do tego, że BigDecimal nic mi nie zaokrąglił stworzyłem sobie kod do mnożenia liczb o rozmiarach ograniczonych tylko przez ilość dostępnej pamięci ;-) [działa dokładnie tak jak mnożenie BigDecimal'em ;-), ale jest moje :-)]
  public String myMultiply(String x1,String x2) {
    if (x1.indexOf(".")==-1x1=x1+".0";
    if (x2.indexOf(".")==-1x2=x2+".0";
    Map res = new HashMap() {
      @Override
      public Byte get(Object key) {
        Byte o = super.get(key);
        return (o!=null)?o:(Byte.valueOf((byte)0));
      }
    };
    x1 = reverseString(x1);
    x2 = reverseString(x2);
    int dotPos = (x1.indexOf("."))+(x2.indexOf("."));
    x1 = x1.replaceAll("\\.""");
    x2 = x2.replaceAll("\\.""");
    for (int i=0; i(); i++) {
      for (int j=0; j(); j++) {
        int pos = i+j;
        int numA = Byte.valueOf(""+x1.charAt(i));
        int numB = Byte.valueOf(""+x2.charAt(j));
        int newPos = pos;
        int rest = 0;
        int subRes = numA*numB;
        do {
          int curVal = res.get(newPos);
          int newVal = (subRes+curVal)%10;
          rest = ((subRes+curVal- newVal)/10;
          subRes = rest;
          res.put(newPos,(byte)newVal);
          newPos++;
        while (rest!=0);
      }
    }
    String result = "";
    for (int i=0; i(); i++) {
      result+=""+res.get(i);
    }
    result = result.substring(0,dotPos)+"."+result.substring(dotPos);
    int pos = result.length()-1;
    while (result.charAt(pos)=='0') {
      pos--;
    }
    if (result.charAt(pos)=='.'pos++;
    result = result.substring(0,pos+1);
    result = reverseString(result);
    return result;
  }
  private String reverseString(String x) {
    String newX = "";
    for (int idx=0; idx(); idx++) {
      newX=x.charAt(idx)+newX;
    }
    return newX;
  }
[kod pokolorowany przy pomocy Java2HTML convertera]
Algorytm stojący za tym mnożeniem to zwykłe mnożenie pod kreskę ;-)


Podobne postybeta
Swing - największe zło Java'y ;-)
Spectre powinno działać nawet w Java'ie ;-)
Potworność ;-) czyli mnożenie w 90 liniach ;-)
Potfór ;-) czyli generator z yield w Java'ie
Tworzenie poprawnych nazw plików :-)

Alice... i nie tylko....

Bardzo ciekawe narzędzie - Alice.Pozwala nauczyć się programować tworząc animację w 3D.Poniżej przykład.
You need to download Java software in order to view this Alice world. Please visit this page: http://www.alice.org/applet/requirements/
Alice to jena z rzeczy, które Randy Pausch zrobił by pomóc innym w spełnieniu ich marzeń z dzieciństwa. Opowiedział o tym i o swoich dziecięcych marzeniach w trakcie pożegnalnego wykładu [pożegnalnego, ponieważ już wtedy wiedział, że w ciągu kilku miesięcy umrze na raka trzustki].[tutaj wyjaśnienie, wpis o samym wykładzie chciałem umieścić już wczoraj, ale sam wykład prowadzony przez kogoś kto czuje się świetnie, ale wie, że w ciągu kilku miesięcy umrze bardzo mnie przejął i próbując o nim napisać stwierdziłem, że nie umiem, pisałem albo zbyt płytko, albo bez sensu. Z wykładu przebija wiele przesłań - nie trać ducha, ciężko pracuj, marz, ciesz się każdą chwilą. Jeśli czujesz się na siłach, obejrzyj. Myślę, też że warto sobie wziąć parę rad do serca]

Podobne postybeta
Mistral czeka na książkę
Wündermind
Do the right thing, Wait to get fired - to jednak ma sens
Radość przedurlopowa - przycinanie ;-)
GPT + Python = sprawdzanie czy 5 książka z Bobiverse już jest dostępna ;-)

czwartek, lipca 24, 2008

Demokracja contentowa ;-)

Ostatnio zdarzyło mi się 2 razy tłumaczyć dlaczego jakiejś strony nie widać w Google i uświadomiłem sobie, że mało kto wie jak to wszystko naprawdę działa.A działa tak.......Google opiera się na demokracji contentowej ;-) oznacza to tyle, że prawo głosu mają tylko dostawcy contentu - treści. Prowadzisz stronę o hodowli danio błękitnego? Więc pewnie linkujesz do dobrych stron o danio błękitnym. A jeśli piszesz odpowiednio dobrze to i inni linkują do Ciebie.GoogleBot widzi to tak - ktoś prowadzi stronę o danio błękitnym i poleca pewne strony, pewnie więc są one coś warte, szczególnie, że inni wskazywali na jego/jej stronę jako na dobrą.Na początku Google nie wiedziało nic, zaczęło wysyłać swoje roboty by zwiedzały sieć w której różne strony wskazywały na różne inne. Wszyscy zaczęli od równej liczby "punktów", ale z czasem okazało się, że jedni są polecani częściej, a inni rzadziej.... Teraz pojawiła się jeszcze jedna sprawa, skoro na stronę A wskazuje 300 innych stron, czyli za tą stroną głosuje 300 innych twórców treści to znaczy nie tylko, że strona ta jest coś warta, ale też że głos jej twórcy powinien być więcej wart niż głos zwykłego twórcy. I tak powstał PageRank.Teraz ma on w sobie jeszcze całe multum innych zmiennych, ale służą one bardziej temu by wykrywać tych, którzy chcą nabrać renomy w sposób niezasłużony, niż zmianie całej idei.Google nie opiera się na ilości odwiedzin strony [choć może to być jedna z dodatkowych zmiennych], bo taki model prowadzi szybko do sytuacji, którą opisać możemy słowami "miliony much nie mogą się mylić". Zwykły Internatua choć cenny, jest tylko konsumentem treści, nie produkuje jej. Nawet Web 2.0 wydaje się tego nie zmieniać, MySpace, Facebook czy polska Nasza-Klasa są bardzo popularne, ale nie wnoszą zbyt wiele nowej treści. Przeciętny użytkownik serwisów Web 2.0 nadal jest konsumentem, jego głos nie jest więc ważny tak jak kogoś kto tą treść dostarcza. Siła Twojego głosu zależy od tego jak dobry content dostarczasz. A to przekłada się na Twoją pozycję w Google'u. Dostarcz dobrą treść, a pierwsze miejsce masz pewne.W "komercyjnym" Internecie działa to podobnie, choć tam więcej jest oszustów stosujących różne złe praktyki starające się oszukać maszynerię Google'a, a przez to popsuć wyniki wyszukiwania.Ta demokracja contentowa zapewnia, że tylko zasłużeni dla treści ;-) mają wpływ na ocenę strony. Ale by uniknąć efektu koterii czy nomenklatury, Google "spłaszcza" ocenę renomy. Z PageRank równego 1 łatwo wskoczyć na 2, z 2 na 3 też, choć trudniej, ale mając 5 bardzo trudno wskoczyć na 6, jeszcze trudniej z 6 na 7, a już strasznie trudne jest wejście z 9 na 10. Jest to więc ustrój w którym duży może więcej, ale żeby duży stał się wielkim zgodzić się na to muszą nie tylko inni duzi, ale i ci całkiem malutcy ;-)


Podobne postybeta
Web 2.0, czyżby opowieść o tym jak oddaliśmy Internet idiotom?
Social media to nie jest świat dla introwertyków/ambiwertyków ;-)
Język a postrzeganie rzeczywistości
Najprostszy OCR ;-)
Podwójne standardy - Tybet a Arabia Saudyjska.

"Chiba widziałem Księżyc" ;-)

Czy nasza planeta nie jest ładna? I mamy jeszcze taki ładnie komponujący się z nią księżyc o nazwie Księżyc.NASA przy pomocy sondy Deep Impact sfilmowała przejście Księżyca przez tarczę Ziemi z odległości około 50 mln kilometrów [1/3 drogi między Ziemią a Słońcem, czyli jakieś 166 sekund podróży światła].
Film pozwala nabrać dystansu do naszych ziemskich problemów ;-) Przecież jesteśmy o tacy -> . <- malutcy, a nawet mniejsi ;-)

Podobne postybeta
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;Plakat&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;
Zaczynam woleć Map&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;Key,int[]&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; nad Map&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;Key,Integer&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; ;-)
Zgadujemy wyniki wyborów ;-)
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;Obiektywność&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;
AST w akcji - zamieniamy źrodło w Java&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;#39;ie w &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;rysunek&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot; ;-)

środa, lipca 23, 2008

Kompresja 10 przykazań ;-)

Jak łatwo i logicznie zredukować 10 przykazań do 2 [w porywach 3 ;-)]


Podobne postybeta
Radość przedurlopowa - przycinanie ;-)
A gdyby tak...
Łożyskowce - jak to było?
Skoro Deep Web jest potrzebny by zapewnić wolność słowa, ale jest wykorzystywany do szerzenia niecnych treści, to może rozwiązaniem jest ograniczenie technologii takiej sieci tak by tylko przekazywała tekst?
Nie taka Java wolna jak ją opisują...

Studia wyższe

Dziś na Onecie, albo WP w dziale gospodarka był artykuł o tym, że dyplom wyższej uczelni zwiększa miesięczne zarobki przeciętnie o 2.2-2.7 złotych brutto.
Pod artykułem było wiele komentarzy w stylu "Nieprawda, mam mgr. i pracuje za 1200 złotych" i podobnych. Zmieniał się magister, z licencjatem czy inżynierem, zmieniały się czasem kwoty.
Ogólny przekaz komentarzy był taki "przecież mam wyższe wykształcenie, a tyle nie zarabiam".
Moja odpowiedź jest taka: Wyższe wykształcenie to masz jak skończyłeś/skończyłaś dobrą uczelnię na trudnym kierunku i to z dobrymi wynikami. W przeciwnym wypadku masz co najwyżej wyższawe wykształcenie. IQ powyżej 115 ma około 16% populacji, IQ powyżej 130 ma trochę ponad 2% populacji. I tylko niektórzy z tych 16% populacji z IQ powyżej 115 mają szansę mieć wyższe wykształcenie. Mówiąc inaczej, im większą szansę ukończenia Twoich studiów miał lub ma ktoś z IQ poniżej 115 punktów tym mniej są to studia wyższe.
Im wyżej jesteś w tej grupie osób powyżej 115 tym większą masz szansę dużo zarabiać [za wyjątkiem sytuacji gdy bardziej od pieniędzy kochasz naukę i zostałeś/zostałaś pracownikiem naukowym ;-)].
Tłumacząc od dołu, czyli od szkoły średniej. Jeżeli po szkole średniej nie jesteś w stanie zdać matury z matematyki to nie będziesz mieć wyższego wykształcenia. Nie zasługujesz na nie. Bo jeśli ktoś świetny w matematyce i przedmiotach ścisłych może napisać i zdać maturę z polskiego, to zwykła symetria wymaga by ktoś dobry z przedmiotów humanistycznych potrafił zdać maturę z matematyki.
Jeśli nie potrafi to nie zasługuje nie tylko na późniejsze studia wyższe, ale nawet na maturę.
Studia wyższe muszą być elitarne, bo inaczej obniża się ich poziom. A jeśli nie wydaje Ci się że powinny być elitarne, to zastanów się czy chcesz by leczyli Cię lekarze którzy ledwo co ledwo skończyli studia, które skończyć może każdy. Czy raczej wolisz takich, którzy przez całe studia musieli wykazywać się świetnymi wynikami?

Podobne postybeta
Kiedy zmieniać pracę i po co? (w IT)
Nauka, głupcze
Pełzająca ofensywa
Edukator ;-)
Gdyby przez kolejne 5 lat wszystko mi się udawało to za 5 lat.....

Ha! Mam kuchenkę ;-)

Po długich znojach w końcu kupiłem kuchenkę mikrofalową ;-)

Moja kuchenka jest identyczna z tą z obrazka, z tą różnicą, że pokazuje inną godzinę ;-)

To mój pierwszy taki dorosły, domowy i nie związany z zabawą zakup... dlatego tak to przeżywam :-)


Podobne postybeta
O! Pociąg ;-)
Złe i dobre cosie....
Potrzebny mi radar....
Trauma prasowa ;-)
Olśnienie... chyba wiem jak zrobić R-Drive [czyli dysk R:\ będący "obrazem" Google Docs ;-)]

wtorek, lipca 22, 2008

Kto sieje wiatr

Miało być o czymś innym, ale właśnie mi się przypomniało, że wczoraj była 83 rocznica wyroku w sprawie o nauczenie teorii ewolucji w Tennessee.
Małpi proces, bo taką nazwę nadały mu media był rezultatem działającego w Tennessee i wielu innych stanach USA prawa zakazującego nauczania w szkołach poglądów stojących w sprzeczności z głoszoną przez Biblię wizją Stworzenia, co dla wielu oznaczało całkowity zakaz nauki o ewolucji.
Proces był głośny, zakończył się niezbyt wysokim wyrokiem 100$ [co podobno odpowiadałoby dzisiejszym 1200$ czy coś koło tego], a sąd ewidentnie starał się dać podsądnemu szansę do złożenia samokrytyki. Oskarżony jednak - John Scopes - zachęcany do tego przez zwolenników ewolucji nie zgodził się odwołać swoich twierdzeń po to by sprawa po wydanym wyroku mogła trafić do Sądu Najwyższego stanu Tennessee w ramach apelacji. Rzeczywiście trafiła, z tym że doszukano się w procesie błędów proceduralnych i wyrok unieważniono bez badania konstytucjalności zakazu nauczania teorii ewolucji.

O samym procesie nakręcono bardzo dobry film ze Spencerem Tracy. Przez moment "Kto sieje wiatr" był nawet moim ulubionym filmem ;-) choć jak twierdzi Wikipedia film ten, a dokładniej sztuka na której bazował była wymierzona bardziej w macartyzm i jego polowanie na czarownice niż w kreacjonizm.
Swoją szosą przypuszczam, że istniała silna korelacja między polującymi na czerwonego macartystami, a zwolennikami kreacjonizmu ;-)

Co znów kojarzy mi się z tym co przeczytałem dziś w blogu jakiegoś chyba byłego "opozycjonisty" w Salon24, autor starał się usilnie przekonać czytelników, że Geremek był w zmowie z mordercami [w domyśle z SB] księdza Zycha ["bohatera", który bawił się w partyzantkę z grupą dzieciaków, na skutek czego zginął boga ducha winien milicjant, który miał pecha odmówić oddania broni gdy wychowankowie księdza napadli go w tramwaju, btw. największym zmartwieniem księdza było to, że w ich przysiędze musi pojawić się odniesienie do Boga].
Logika wywodu była podobna jak obrona wizji powstania świata przedstawionej w Genesis, szło to mniej więcej tak "Ja tak uważam, więc jest to prawda" ;-)
IMHO argumentacja na poziomie intelektualisty wg. definicji Arhtur'a C. Clarke'a, który mówił, że "intelektualista to człowiek wykształcony znacznie ponad swoje zdolności intelektualne" ;-)


Podobne postybeta
Foczka #2 ;-)
No i mamy wyrok
Głosowanie korespondencyjne jest tak dziurawe, że aż szkoda gadać - z perspektywy IT
Iran coraz bliżej....
"Bóg urojony"

niedziela, lipca 20, 2008

Telewizja nie dla idiotów...

Była kiedyś taka.... Naprawdę!

Sonda, Kwant, Laboratorium [istnieje nadal!!], Kuchnia, Planetarium [podobno też istnieje], Gwiazdy Nocą, Pi i Sigma.. to lista stworzona z głowy, pewnie były jeszcze jakieś.

Sam wychowałem się na Kwancie i Sondzie.
W Sondzie pierwszy raz usłyszałem o światłowodach czy bankomatach, pamiętam też do dziś z jaką fascynacją oglądałem odcinek o robotach w japońskich fabrykach.
Z Kwantu pamiętam teleturniej w którym jakieś dzieciaki odpowiadały na dość trudne pytania z fizyki czy astronomii.

A teraz co? Ziarno albo Tila Tequila. Jedno robi sieczkę z mózgu przy pomocy religijnej socjotechniki, a drugie przez pozowanie na nowoczesność i otwartość. Pewnie nawet ścieżka kariery widza tych programów jest taka, że najpierw jest Ziarno, które zabija indywidualizm i krytycyzm, a później Tila Tequila z pokazowymi uczuciami na sprzedaż.

Sonda robiona była przez grupę zapaleńców, miała klimat. Taki sam klimat miał np. Bajtek. Ale teraz nie ma miejsca na pasję. Musi być sprzedaż.
Nowy bożek - konsumpcja. Co nie przekłada się na wzrost konsumpcji jest złe. I to nie ważne czy chodzi o konsumpcję czipsów, piwa czy religii. Ważne żeby konsumpcja była bezkrytyczna i nieograniczona.

W Sondzie Kurek z Kamińskim "skakali sobie do gardeł" by pokazać odbiorcy dwa różne sposoby patrzenia na ten sam problem. Starali się tłumaczyć podstawy, a nie sprzedawać prawdy objawione. Zmuszali do myślenia.

Teraz TV nie zmusza do myślenia, raczej stara się do niego zniechęcać. W końcu jeśli odbiorcy będą myśleć to mogą się zorientować, że proszek A i proszek B to to samo, że sklep nie dla idiotów i drugi, który z nim walczą to jedna i ta sama firma, a cały konflikt ma zachęcić idio.. przepraszam klientów do wydawania pieniędzy to w jednej to w drugiej sieci.

Teraz jest tak, Discovery które wydawało się na początku dostępności w Polsce świetną stacją okazało się być pomyłką. Większość programów to zachwyty nad seryjnymi mordercami, opowieści o duchach, albo UFO. Wyróżniają się jeszcze programy z serii "Jak to jest zrobione?" i podobnych. Czasem coś fajnego pokaże National Geographic, ale trudno w to trafić. Podobnie z Planete. Krajowego nic nie zauważyłem ;-)

Dlatego warto sobie przypomnieć trochę o dobrych programach ;-)
Warto zajrzeć na "oficjalną stronę Sondy", może nie poraża urodą i ilością treści, ale ma linki do odcinków na eMule ;-)


Podobne postybeta
Planetarium czy Plebania?
Czyżbym miał już zbyt wolny komputer? ;-)
Inwazja kostki klinkierowej
Gabinet Ipsalorda
Książki, książeczki, książunie ;-)

sobota, lipca 19, 2008

Kosmici i ich gospodarka ;-)

Asgardczycy w Gwiezdnych Wrotach mają chyba coś na kształt komunizmu, bo czyż taki Thor pracuje dla jakiejś firmy? ;-)Tocra z tychże samych Gwiezdnych Wrót mają mieszankę komunizmu i oligarchii.Gouldowie [też z Gwiezdnych Wrót] to monarchia feudalna z niewolnictwem.Ośmiornice/Tęczowi Ludzie w serii Rama Arthura C. Clarke'a to komunizm w czystej postaci, u nich każdy mieszkaniec kolonii wkłada ile może w dobro kolonii, bez istnienia firm czy nawet czegoś takiego jak pieniądze.Ptaki i Mrówkokoty (także Rama) żyją w symbiozie, Ptaki chronią kolonie, a Mrówkokoty zajmują się techniką, do gromadzenia wiedzy służy sieć, ale nadal brak firm i pieniędzy. Też komunizm bo każdy wkłada ile może w dobro kolonii.Robale u Orsona Scott Carda tworzą kulturę kopca z królowymi, które jako jedyne są istotami myślącymi, więc i firmy i pieniądze u nich nie istnieją ;-) Coś na kształt monarchii feudalnej.Prosiaczki u tegoż samego Orsona Scott Carda są na poziomie zbierackim [nie myśliwsko-zbierackim z racji braku czegoś na co by mogli polować ;-)]Ferengi ze Star Treka, czysty kapitalizm, czyli sprzedaż własnej matki gdy ktoś przedstawi odpowiednią ofertę ;-)Prawidłowość jest chyba taka, że w SF im wyższy poziom rozwoju rasy tym mniej w niej kapitalizmu. Z drugiej strony coś w tym jest. Największe osiągnięcia jakie na razie mamy czyli podbój kosmosu to głównie wydatki państwowe finansowane z podatków.Widać im rasa bardziej skora do takiej formy tym więcej osiąga ;-)


Podobne postybeta
Maleństwo ;-)
Leniuchowanie
W SF Chiny się izolują, tylko nie wiadomo czemu...
Komunizma!=Faszyzm
Gwiezdne Wojny - czemu one są coraz bardziej anaukowe?

piątek, lipca 18, 2008

Urodzeni koderzy

Istnieją :-"Zagrałem" sobie w rundzie kwalifikacyjnej Google Code Jam, zakwalifikowałem się nawet do kolejnej rundy ;-) jestem 993 na 7154 startujących osób ;-)
Po rundzie kwalifikacyjnej można sobie pobrać cudze rozwiązania. Zrobiłem to z rozwiązaniami osoby, która zajęła 1 miejsce. Ten kod to małe dzieło sztuki :-) Mój kod w Java'ie który realizuje ten sam algorytm wygląda na strasznie ciężki i chaotyczny w porównaniu z prostotą i elegancją tego kodu napisanego w C++. Co najlepsze ja na rozwiązanie pierwszego zadania potrzebowałem 1 godziny i 11 minut [choć pierwszą wersję miałem po 36 minutach i 47 sekundach, ale zapomniałem w nim o jednej zmiennej, która była mi potrzebna ;-)] Zwycięzca potrzebował tylko 9 minut i 16 sekund :-)
Ten ktoś ma dar.... musiał też dużo ćwiczyć. Ten ktoś musi być urodzonym koderem :-)
Pocieszające jest to, że mieliśmy identyczne pomysły na rozwiązanie :-) czyli jeśli będę trenował to jest szansa, że się zbliżę do tego poziomu :-)
Jeśli ktoś chce przyjrzeć się rozwiązaniom to możliwe to jest na stronie Google Code Jam [prawdopodobnie trzeba się zapisać żeby mieć dostęp]

Podobne postybeta
To (kalkulator) żyje :-)
Czego brakuje koderom ;-)
Skalowanie miernika jakości powietrza ;-)
1 na 9 głosów
Jak uniknąć zonka ;-)

środa, lipca 16, 2008

Przenośna wikipedia

Zainstalowałem sobie właśnie na moim EEE program PocketWikipedia. Jest to wybór 24 tysięcy haseł z angielskiej Wikipedii.Wybór haseł jest ciut dziwny ;-) Np. jest Python jako język programowania [nie ma Java'y], nie ma za to pytona jako węża, czy grupy węży ;-)Jest za to hasło Buffy the Vampire Slayer, i Civilization :-)Mimo wszystko zawsze to coś, a zajmując 197 MB nie jest jakimś szczególnym pożeraczem miejsca.Program dostępny jest w wersji dla Windows, Windows Mobie [PocketPC] oraz Linuksa.

Podobne postybeta
Złe i dobre cosie....
10 lat temu byłem u Buffy ;-)
[Wikipedia fun facts] Coraz więcej stacji kosmicznych
Google Goggles w działaniu :-)
Buffy ma 40 lat....

EEE zdobywa Kraków ;-)

Z serii EEE zdobywa świat ;-)

Widziałem dziś pierwszego nie swojego EEE w użyciu :-)
Jakaś pani, czy bardziej dziewczyna używała Asus EEE 700 w jednej z restauracji w Bumie gdy wracałem do miejsca spania :-)

Podobne postybeta
Kupić albo nie kupić - oto jest pytanie
Plusy dodatnie i plusy ujemne ;-)
Zaćmienie? ;-)
Fajna zmiana w Android Market :-)
EEE Storage - czyżby nie dla wszystkich?

wtorek, lipca 15, 2008

Kuchenka mikrofalowa

Kuchenka mikrofalowa, niby nic. Taki oswojony radar.

Zasada działania jest prosta jak konstrukcja cepa... no może trochę bardziej skomplikowana, ale jednak prosta.

Problemem jest jednak kupno kuchenki mikrofalowej.

Po pierwsze trzeba wybrać. Na rynku jest tego multum, w samym Euro mają ich 128 rodzajów od takich za 199 złotych do takich za 13999 złotych.

Ja szukam takiej, która potrafi podgrzać pierogi z serem ;-) lub zrobić grzanki. Wystarczy więc najprostsza.

I tu kolejne schody. Bo żeby kupić trzeba się udać do sklepu i wybrać z multum, które tam mają...

Wybrałem się. Były od 339 złotych do 734. Na pierwszy rzut oka identyczne.
Różniły się pojemnością, bo część miała 17 litrów, a część 21 litrów. Podejrzewam, że także mocą, choć tą chwaliła się na obudowie tylko jedna z nich.

Ocena wizualna okazała się być podejściem błędnym, bo wszystkie kuchenki wyglądały, rzecz ujmując najprościej, kuchennie - czyli jak kuchenki mikrofalowe. Chociaż nie, jedna przypominała telewizor.

Podejściem drugim było spojrzenie na ceny. OK, 734 złote to nie jest majątek, ale do zwykłego i sporadycznego podgrzewania pierogów czy mleka wydaje się to być kwota lekko zawyżona. Skierowałem swój wzrok więc na te w dolnych granicach - 339 i 379 czy jakoś tak. Poza ceną różniły się zewnętrznie kolorem i producentem. Jedna była czarna [to ta przypominała telewizor], druga była biała.
Cena pozwoliła ograniczyć wybór do 2 z 7 lub coś koło tego.

Przez brak ekspertyzy postanowiłem podjąć decyzję w sposób zorganizowany, czyli ponieść się podświadomości i losowi, grając w "entliczek, pętliczek".
Ten profesjonalny sposób podejmowania decyzji pozwolił wyłonić zwycięzcę, czyli kuchenkę białą i tańsza.........

Resztki rozsądku zapytały jeszcze panią z obsługi czym się te kuchenki różnią prócz ceny, na co dowiedziałem się, że jedna ma opiekach czy grill kwarcowy, a druga inny....

W końcu jednak, decyzja została podjęta...

I tu pojawił się problem, bo w sklepie nie można było zapłacić kartą.

Mimo całej traumy decyzyjnej, kuchenki nie mam nadal ;-)

A co gorsza, dziś w pracy kolega pokazał mi, że obok Bumy [w której mieści się Sabre] jest gigantyczny sklep z serii Mix.......... przecież oni tam będą mieli z 20 rodzajów kuchenek :-(


Podobne postybeta
Śmierdząca ryba wolności ;-)
Jestem lepszy od UE ;-)
Złe i dobre cosie....
Piękne aplikacje, co to właściwe jest?
Czemu obecny Sejm i rząd są wyjątkowe?

Tramwaj vs. samochód

W Krakowie wygrywa tramwaj :-)

Dziś do pracy pojechałem samochodem. Wyjechałem o 8:30, na parkingu pod pracą byłem o 8:55. Pokonałem więc trasę w 25 minut [a były czasy gdy praktycznie tą samą trasę pokonywałem w 6-7 minut... ;-)], droga powrotna trwała za to 20-22 minuty.
Dla porównania jazda do pracy tramwajem zabiera 14-16 minut :-) dojście do tramwaju to jakieś 2-3 minuty.
Czyli jakby nie patrzeć tramwaj jest szybszy. Można w nim też spokojnie poczytać książkę.

Podobno jazda tramwajem jest też bardziej ekologiczna :-) ekonomicznie wypada porównywalnie z jazdą samochodem, ale to tylko przez to, że jakoś szczególnie mi nie zależy na kupieniu krakowskiej karty miejskiej, dlatego codziennie muszę kasować 2 bilety.


Podobne postybeta
Białe paskudztwo trzyma się mocno ;-)
Lubię tramwaje :-)
"Demon" prędkości
Urlopowanie ;-)
So many Kindles..... ;-)

Asus EEE 900 - Tips & Tricks ;-)

Po kilku tygodniach posiadania [2 albo 3] Asus'a EEE 900 mogę zaproponować kilka posunięć, które powinny pomóc w wygodnym używaniu komputerka :-)Swobodnie można odinstalować wszystko co ma w nazwie Live, zapewne jest grupa osób, które nie mogą żyć bez tego zestawu usług Microsoftu, ale ja jedną z tych osób nie jestem - choć konto na Live posiadam ;-)Po drugie dobrze przenieść cały katalog C:\Windows\SoftwareDistribution\Download na dysk D lub kartę, a jak ktoś lubi to z tego co widzę może go swobodnie skasować. Podobno może to powodować jakieś problemy z działaniem Windows Update, ale ja nic nie zauważyłem.Adobre Reader 8 - odinstalować, zainstalować Foxit Reader'a. Potrafi to samo, a nie zajmuje łącznie ponad 100 MB.Wielką niewiadomą jest MS Works. Niby fajny, ładnie działa, ale... ale nie ma np. polskiego słownika ortograficznego. Moim zdaniem zdecydowanie lepiej wygląda tutaj również zainstalowany fabrycznie StarOffice 8. Mój Asus EEE 900 fabrycznie dostarczony był z Sun Java 5, osobiście polecam zainstalować Java 6 Update N. Rzeczywiście wydaje się być szybsza, a do tego dzięki niej można w StarOffice 8 używać mojego dodatku OpenOffice.org2GoogleDocs ;-)Dobrze jest skompresować cały dysk C [klikamy na dysku C prawym myszem, wybieramy Properties i Compress drive to save disk space], teoretycznie powoduje to, że system działa wolniej, ale nie zauważyłem by był to jakiś znaczący spadek wydajności.W celu oszczędzenia baterii dobrze zainstalować SpeedswitchXP, który jak zauważyłem trochę agresywniej obniża częstotliwość pracy procesora [choć może to efekt placebo? :-)]Eclipse Ganymede działa dość dobrze, choć start bywa lekko przydługi ;-)Niezastąpiony jest jak zwykle Total Commander :-)Niezbędnym akcesorium okazuje się też być książka formatu A5, którą można włożyć pod laptopika i dzięki temu miło pracuje się z nim na kolanach lub brzuchu :-) [inaczej strasznie grzeje, no i można mieć opory przed trzymaniem go aż tak blisko skóry :-)]


Podobne postybeta
Asus EEE 900 ;-)
ASUS EEE PC - szpanujemy wyniki ;-)
Laptop
Asus A636N + WM6 = porażka
Na śpiocha....

Asus EEE 900 jest dziwny ;-)

Pisałem niedawno o tym, że mój Asus EEE 900 głupieje i gdy próbuje go włączyć na baterii z włączonym WiFi to się resetuje... Okazał się, ze pomogło mu ustawienie w opcjach Windows XP by po pokazaniu niebieskiego ekranu się nie resetował tylko został z tym ekranem [chciałem zobaczyć, który sterownik rozrabia]. Okazało się to być lekarstwem na problem ;-)Jeszcze ciekawsze jest zachowanie baterii ;-) Spadek pojemności, czy też jeszcze dostępnej mocy [właściwie co pokazuje wskaźnik zużycia baterii? ile prądu jeszcze "zostało"?] ma skok 10%, dlatego cudem jest zobaczenie pojemności równej 100%, od razu, lub niemal od razu mamy 90% ;-) Później spadek jest dość szybki do 70%, 50% i 30% i tutaj cud ;-) spadek z 30% do 20% trwa "na oko" tyle co spadek o 30-40% między wcześniejszymi wskazaniami. Zgaduję, że ten wskaźnik pokazuje tak naprawdę napięcie baterii, a nie pojemność. A ta może jak mi się wydaje spadać najpierw dość ostro, a później dość długo utrzymywać się na podobnym poziomie...Mimo wszystko polecam zakup :-)


Podobne postybeta
EEEBateria ;-)
Fing - poznaj swoją sieć ;-)
Netflix w służbie nauki - nauki języka ;-)
Niepomyśleli....
Asus EEE 900 głupieje ;-)

niedziela, lipca 13, 2008

ShiftHappens - ciekawa prezentacja

Ciekawa prezentacja przedstawiająca kilka ciekawych liczb :-)







Rozszerzona wersja tej prezentacji w postaci filmu na YouTube:









Wnioski są takie:

- uczyć się chińskiego

- uczyć się

- czytać dużo książek

- głosować na ludzi, którzy myślą o przyszłości, a nie przeszłości

- wydawać więcej na edukację

- wydawać dużo więcej na edukację

- wydawać jeszcze więcej na powszechną edukację

- nie bać się zmian

- przyłączyć się do SkyNet'u [szczególnie gdy jego przedstawiciele wyglądają tak jak obok ;-)]









Prezentacje pochodzą z bloga: http://thefischbowl.blogspot.com/

Podobne postybeta
Co umie OpenOffice.org2GoogleDocs ;-)
Doda jak George Bernard Shaw i Thomas Jefferson ;-)
Zcancelowali mi samolota....
Terminator Genisys
Przeglądarka zawsze przydatna

"Zapomniałem napisać, że w piątek (albo sobote, choć chyba był to czwartek)"

Powyższe to cytat z jednego z moich wpisów w moim Dzienniku, który prowadziłem w czasach LO. Prowadziłem go głównie dlatego, że napisałem program do prowadzenia dziennika ;-) [Program Win16 napisany w Borland Pascal, całe 815 linii kodu ;-)]Ciekawie się to czyta, choć miejscami z mniejszym lub większym zażenowaniem ;-) Polecam zapoznanie się z tym co się pisało mając 18 czy 19 lat każdemu do weryfikacji swojego przekonania jakim to się kiedyś było rozsądnym człowiekiem ;-)Trochę przygnębia trywialność moich ówczesnych przemyśleń bo jakby nie patrzeć oznacza to, że teraz też pewnie takie są, a jedyną różnicą jest to, że teraz używam trudniejszych i dłuższych słów [lata edukacji na uczelni wyższej musiały odcisnąć na mnie jakieś piętno ;-)]Czytając wpisy z Dziennika, stwierdzam że styl poprawił mi się dopiero po odkryciu Internetu, choć może w okolicach czasów gdy pisałem pierwsze "emaile" na dyskietkach z koleżanką ze studiów [teraz jedyny "kontakt" z nią to fakt, że mam ją wśród kontaktów w LinkedIn ;-)]Jedno z czego jestem na pewno zadowolony to moje ówczesne lektury :-) Dużo Arthura C. Clarkea, Isaac Asimov, trochę Orsona Scott Carda, do tego Michio Kaku z jego Hiperprzestrzenią, zacząłem też wtedy odkrywać Terry'ego Pratchetta :-)Btw. zawsze się zastanawiałem jak to było przez lata z moim angielskim, niby używam go w codziennej korespondencji, rozmawiam po angielsku przez telefon, miałem okazję używać go w rozmowach [i to też takich gdy uczestnicy mają już trochę w czubie ;-)], czytam książki, oglądam filmy w oryginale, ogólnie jest moim drugim językiem, a pierwszym w kontaktach z szefostwem, czy testerami, ale zawsze uważałem że jakoś mi się szczególnie nie zmienił przez lata od LO gdzie się go uczyłem...... myliłem się ;-) zmienił się ;-) Choć druga myśl jest przerażająca... jeżeli teraz mój angielski jest nieszczególny [akcentu nie posiadam, wymowa mi się zdarza, a pisząc staram się pisać zawsze w prostych czasach ;-)] to jak okropny musiał być kiedyś????


Podobne postybeta
Błysnęło, huknęło i zepsuło telewizje :-(
Szczęśliwe nieszczęścia ;-)
Chyba najtrudniejszy komponent UI - pasek postępu ;-)
Google Books vs Kindle Store
Książkowa faza - stare hard SF :-)

sobota, lipca 12, 2008

Asus EEE 900 głupieje ;-)

Nie wiem czy to wina update'u biosu, który przeprowadziłem wczoraj na moim Asus EEE 900, czy może tego, że akurat burzy która trwała ;-) ale "fajny" ficzer się pojawił. Gdy laptopik startuje na baterii z włączonym WiFi to po uruchomieniu się pojawia się niebieski ekran, a laptop się restartuje, po czym znowu startuj i znowu ten sam efekt ;-)Za to podłączenie do prądu powoduje, że wszystko działa jak należy ;-)Trzeba będzie przeprowadzić eksperymenta :-)


Podobne postybeta
Asus EEE 900 jest dziwny ;-)
Halt and catch fire....
A może by tak zacząć zamykać przeglądarkę? ;-)
3 must have dla Chrome OS ;-)
Asus EEE 900 ;-)

czwartek, lipca 10, 2008

Algorytmy Genetyczne szukają Symbolu Newtona ;-)

Nie pisałem tutaj o tym choć pisałem na moim "anglojęzycznym" blogu. Bawię się ostatnio w rozwiązywanie zadań, które Google dało kiedyś zawodnikom w trakcie code.jam.Dwa pierwsze zrobiłem w dość krótkim czasie bo spędziłem nad nimi łącznie z 5-6 godzin, ale z trzecim było trudniej ;-) Zajęło mi znacznie dłużej ;-)W końcu dotarłem do algorytmu, który owocował kodem:
public long findMaxF(long d, long b) {    long f = 0;    if (b==1) {       f=d;    } else if (b==d) {       f=(1<Kod ten można jeszcze uprościć wyrzucając kawałek z porównaniem b i d dodając warunek zapewniający, że b nie będzie nigdy większe od d... ale to szczegół, ważne jest to, że ta rekurencja działa dla stosunkowo małych d i b, w przeciwnym wypadku "leci" StackOverflowError.Wiedziałem, że można się jakoś tej rekurencji pozbyć i opisuje to powierzchownie na moim drugim blogu ;-) Wcześniej jednak niż doszedłem do tego, że moja funkcja może zostać zastąpiona przez sumowanie wyników symbolu Newtona poszedłem inną ścieżką ;-)Spróbowałem użyć programu Genetyk, który znalazłem na stronie alife.pl [polecanej na świetnej ewolucja.org].Program ten używa algorytmów genetycznych do szukania funkcji opisujących zadany zestaw wartości. Niby jak wiemy, że AG działają to można sobie taki program wymyśleć, ale jednak zobaczenie jego działania daje po oczach :-)Dla mojego zestawu danych [funkcja przedstawiona wyżej wołana w taki sposób findMaxF(d=20,b={1,20})], który to zestaw został z niewyjaśnionych przyczyn odwrócony prze program ;-) [zamienił oś X z Y, a próba wymuszenia innego ułożenia kończyła się błędnym wczytaniem pliku] program zaczął tworzyć olbrzymią kolumbrynę, która po chyba około 20 tysiącach kroków [ale tu pewien nie jestem ile to było} zbliżała się do oryginalnego wykresu ze średnim błędem na poziomie 5 co jest niezłym osiągnięciem :-)Bardzo ciekawie wygląda proces dochodzenia do rozwiązania. Sam używałem AG do szukania drogi w terenie z przeszkodami [znajdowały ;-) a ja się tym zajmowałem w ramach pracy na studiach podyplomowych ;-)] i do przybliżania wykresów [niby podobne, ale ja zakładałem, że fragment wykresu który chcę przybliżyć jest opisany przez równanie ze współczynnikami i zmieniałem tylko współczynniki - to było mi potrzebne w pracy magisterskiej do obróbki danych z pomiarów :-)]. Ale nadal fascynuje mnie to jak AG rozwiązują skomplikowane problemy.Btw. warto do Ewolucja.org dodać sobie do zakładek alife.pl


Podobne postybeta
Opowieść o małym n ;-)
Rankingi, to nie takie proste ;-)
Krzyżowcy
Java i liczby pierwsze, odsłona druga
Regresja liniowa w Google Docs

wtorek, lipca 08, 2008

Człowieczeństwo a gra w Pac-Mana ;-)

Świetny wykład połączony z prezentacją filmów pokazujących, że bonobo nie tak daleko do człowieka :-)


http://www.ted.com/index.php/talks/susan_savage_rumbaugh_on_apes_that_write.html


Takie nawiązanie do tego gdy pisałem tutaj o GAP i tym, że Hiszpanie chcą dać małpom człowiekowatym prawa podobne do praw człowieka.


Podobne postybeta
Dlaczego skała jest twarda?
Wszyscy jesteśmy małpami
DVD BtVS sezon 2
Python - można i tak ;-)
Eksperymentalna wersja 0.5 OpenOffice.org2GoogleDocs

poniedziałek, lipca 07, 2008

"Obiektywizm"

Szlak mnie trafił gdy oglądałem dzisiejsze Fakty TVN.Reportaż o tym, że Alicja Tysiąc postanowiła zaskarżyć do sądu redaktora Gościa Nedzielnego, który pisał o niej, że weźmie pieniądze za to, że nie pozwolono zabić jej dziecka.Oczekiwałbym przedstawienia racji Pani Alicji Tysiąc i redaktora Gościa Niedzielnego tak by widzowie mogli sami wyrobić sobie opinię o sprawie.Ale nie... Fakty TVN wiedzą lepiej. Jest trochę Pani Tysiąc, trochę księdza redaktora który przedstawia swoje racje, znowu Pani Tysiąc, która mówi, że chodzi też o pieniądze. Między tymi wypowiedziami komentarze "ekspertów" i narratora - konkluzja jest jedna - Alicja Tysiąc chciała zabić dziecko, a teraz jeszcze bezczelnie chce za to pieniędzy.Gdzie tu obiektywizm? Czemu nie poprzestano na wypowiedziach dwóch stron konfliktu? Czemu przedstawiono tylko ekspertów jednej strony?Media już nie są obiektywne, kreują swoją wizję świata. Nie tylko brukowce pokroju Faktu, ale też telewizje.Niszczą ludzi [vide sprawa "mordercy" łosia, która głośna była kilka miesięcy temu, choć później nikt się nie zająknął, że ten "morderca" ratując innym razem małego łosia który topił się w wodzie miał zawał i zmarł], albo kreują bohaterów. Wprowadzają biało-czarną wizję świata, gdzie ludzie mogą być tylko dobrzy, albo tylko źli.Ogłupiają ludzi.


Podobne postybeta
Bigotland - kraina bigotów
System punktowania za publikacje w Policji...
Nieistniejący rynek
Krzyżowcy
Opętańcy ;-)

Google Earth Plugin in action ;-)

Pisałem tu jakiś czas temu o tym jak niecnie wykorzystuje Google Earth Plugin do pokazywania ścieżki z GPS ;-)



Tym razem filmik to pokazujący ;-)


Podobne postybeta
Wirtualna wycieczka po Los Angeles :-)
Widoczki ;-)
CosmoPlayer w Google Chrome
To były czasy ;-)
Wiedza magiczna

3 &quot;kuchenne&quot; sekrety

Sprzedam wam dziś 3 "wielkie sekrety", których wielu ludzi nie wiadomo czemu nie zna ;-)

Sekret 1: Jak ustalić ile spala moje auto?

Nie wiedzieć czemu nawet wielu w miarę bystrych ludzi uważa to za rzecz trudną.
Istnieje cała szalona szkoła liczenia spalania. Co najmniej 2 razy próbowano mi sprzedać jej "tajny" sposób polegający na zatankowaniu do pełna i przejechaniu 100 km....
A wcale nie trzeba tak kombinować ;-)

Przepis jest prosty i wstyd go nie znać:
1) Tankujemy do pełna
2) Zerujemy licznik [albo jeśli nie możemy to zapisujemy stan licznika kilometrów]
3) Jeździmy ile dusza zapragnie [byle nam paliwa nie zabrakło ;-)]
4) Tankujemy do pełna i zapamiętujemy ile zatankowaliśmy
5) Zapisujemy ile km przejechaliśmy

I to wystarczy!
Dzieląc ilość litrów przez ilość km dostaniemy ilość paliwa na 1 km, chcąc uzyskać wynik dla 100 km mnożymy to razy 100.
Jak ktoś lubi to liczyć w głowie to wystarczy policzyć ilość litrów [z punktu 4] przez ilość setek kilometrów [z punktu 5].

Np. dziś zatankowałem prawie 34 litry, a przejechałem prawie 600 km, oznacza to, że moje auto pali:
34/600*100 = 34/6 = 5.66666...... litrów na 100 km

Jak widać jest to banalne i nie należy robić z tego jakiejś wielkiej sprawy.

Sekret 2: Jak zmierzyć pojemność garnka/dzbanka/szklanki?

Wystarczy drania zważyć "na pusto" i po napełnieniu wodą. Różnica w wadze to pojemność [a to dzięki temu, że 1 litr wody waży zwykle 1 kg]

Sekret 3: Co to jest kilowatogodzina?

Cała elektronika i elektryka w domu ma moc wyrażoną w watach. Ale jak to się przekłada na to co widzimy na liczniku gdzie jednostką jest 1 kWh [kilo-wato-godzina]?

Pójdziemy po inżyniersku ;-)

kWh = 1000 * W * h

gdzie W to waty, a h to godzina, czyli 1 kilowatogodzina to 1000 wat w godzinę.

Mówiąc inaczej 1 kWh to energia zużyta przez urządzenie(a) o mocy 1 kW (1000 W) w ciągu 1 godziny.
Jeżeli mamy odbiornik o mocy 200 W to zużycie 1kWh zajmie mu 5 godzin, a telewizor w stand-by z poborem 5 W potrzebuje 200 godzin aby pożreć 1 kWh (czyli w ciągu roku telewizor zeżre prawie 44 kWh)

Tutaj mała uwaga, w watach mierzymy moc, czyli pracę wykonana w czasie [wzór to P=W/t, gdzie W to praca [energia], a t to czas [w sekundach]]. Mnożąc moc urządzenia przez czas dostajemy energię, którą wykorzystało to urządzenie na wykonanie pracy i straty ;-)
A ponieważ zwykle czas wyrażamy w godzinach, a nie w sekundach [kto wie ile jest sekund w godzinie, a ile w dobie? ;-)] to mnożąc moc urządzenia razy czas jego pracy w godzinach dostajemy ilość watogodzin zużytych przez to urządzenie, wystarczy teraz tą liczbę podzielić przez 1000 i mamy kilowatogodziny :-)

Hint: kupując lodówkę i zastanawiając się ile toto zużyje popatrz na jej moc i załóż, że będzie pracowała przeciętnie przez powiedzmy 8-12 godzin dziennie [im nowsza i lepsza tym mniej].

P.S.
Jakby to kogoś interesowało to sekund w godzinie jest 3600, a w dobie 86400.

Podobne postybeta
Kradziejski dekoder
Coca-Cola Zero i pomidory = najbardziej "odchudzająca dieta" na świecie ;-)
Przeszedłem już w tym roku 2061.5 km :-)
A tak o liczbach ;-)
Czemu małe pieski noszą ubranka, a duże psy nie?

sobota, lipca 05, 2008

Ważne książki

Nie przeczytam "SB a Lech Wałęsa - przyczynek do biografii".

Nie przeczytam nie dlatego żebym uważał, że Lech Wałęsa był lub nie był na usługach SB. Nie przeczytam bo ten temat to wg. mnie pierdoły.

Jedynym istotnym wydarzeniem, które wpłynęło na świat i na moje życie, a w które zaangażowany był Wałęsa był Okrągły Stół i to, że miał wkład w doprowadzeniu do Okrągłego Stołu.
Najnowsza książka IPNu to pierdoły które nie mają żadnego wpływu na historię czy przyszłość. Za 100 lat Wałęsa będzie pamiętany jako jeden z tych, którzy doprowadzili do Okrągłego Stołu, jako pierwszy niekomunistyczny prezydent i tyle. Za 500 lat może niektórzy historycy będą kojarzyli, że rzeczywiście jakoś tak po II Wojnie Światowej przez 50 lat czy coś koło tego demokracja była jakoś asymetrycznie rozłożona po Europie i że były tam jakieś protesty i że zakończyły się porozumieniem przy Okrągłym Stole i przy stole tym siedział ówczesny przywódca protestujących Wałęsa.

Publikacja IPN nie jest więc w żaden sposób istotna, ważną książką jest "Samolubny Gen", w którym przedstawiono idee, która zmieniała paradygmat postrzegania problemu ewolucji. Ważną książką jest "Krótka Historia Czasu" bo spowodowała, że Nauka wróciła chociaż na półki w wielu domach. Ważną książką był "Kapitał" bo rozpoczął nowy ruch polityczny. To samo "Tako Rzecze Zaratustra" czy niechlubny "Mein Kampf". Nawet dowolna książka z cyklu o Harry'm Potter'ze jest ważniejsza dla świata, kultury i cywilizacji niż "SB a Lech Wałęsa - przyczynek do biografii".

Nie rozumiem dlatego całego zamętu wokół takich pierdół jak to czy Wałęsa był, czy nie był współpracownikiem SB. Jest to tak samo istotne jak to czy sypia na lewym czy prawym boku, albo czy mieszając herbatę obraca łyżeczką w prawo czy w lewo.

Rozumiem, że podniecać to może ludzi, którzy wtedy byli w jego okolicach. W końcu każdy się trochę zainteresuje gdy usłyszy, że ktoś kogo zna lub znał mógł mieć jakieś grzeszki na sumieniu.

Dlatego zamiast "SB a Lech Wałęsa - przyczynek do biografii" wole czytać "Wykłady o obliczeniach" Feynmana, ta książka coś może zmienić.

Podobne postybeta
Polska kapliczka
Głodzenie filozofów ;-) - jak jest sprawiedliwiej?
Jak VHDL obalił komunizm
Tresura owiec ;-)
23 kg to &quot;okrągła&quot; liczba ;-)

piątek, lipca 04, 2008

Firefox 3.0 - trochę narzekań

Po pierwsze FF3.0 jest niekonsekwentny, mam go zainstalowanego na 3 komputerach i na każdym działa trochę inaczej. Przykład: na jednym z komputerów nie chce mi poprawnie wyświetlać strony GoldenLine, które na innych komputerach FF wyświetla dobrze, co zabawne na tym samym komputerze Flock2.0 też wyświetla dobrze tą stronę. Na innych komputerach znowu często po wyświetleniu strony FaceBook'a można sobie klikać na linkach a i tak kliknięcia spowodują załadowanie tej samej strony [ten efekt widziałem już też w becie Flock2.0]. Znów na jednym z komputerów wejście na moją stronę BuffyPedia sprawia, że strona się co prawda wyświetla, ale nie widać na niej banera strony :-), na innych komputerach wszystko działa.Najzabawniejsze jest to, że wszystkie te instalacje przeprowadzone były z tego samego pliku instalatora, wtyczki też wydają się być identyczne lub podobne.Po drugie FF3.0 nie lubi się z serwerami proxy NTLM, działa przez nie, ale co jakiś czas jest dla nich na tyle niemiły, że serwer proxy prosi o ponowną autentykację, a jak jej nie dostanie to prosi znowu i znowu i znowu.....Po trzeci FF3.0 ma coś "porobione" z wątkami obsługującymi połączenia z internetem. Uruchomienie FF3.0, który przy starcie próbuje otworzyć kilka lub kilkanaście zakładek oznacza co najmniej chwilowe popadnięcie komputera w katatonię, choć to też zależy od instalacji i prawdopodobnie temperatury na zewnątrz...Zifne......


Podobne postybeta
Nagły atak spowolnienia? Czyli JavaScript zwolnił w FF3.6 beta 5, za to przyśpieszył w Opera 10.5 pre-alpha :-)
I bądź tu przedsiębiorczy
Azule i Android - przyszłość Java'y?
Statystyki Android Marketu mijają się ciut z prawdą ;-)
"Czy uważasz, że powinien zarabiać tyle co Ty?" ;-)

wtorek, lipca 01, 2008

Projekty Informatyczne - Mity ;-)

Z wykształcenia jestem fizykiem, z zawodu i zamiłowania programistą, ostatnio pełnię jeszcze rolę development leada [mówiąc prosto jestem tym na którego wszyscy mogą krzyczeć ;-), dokładniej zaś sprawę ujmując jestem kimś kto łączy developerów z product managerem [używam nazw anielskich bo lepiej oddają znaczenie]]. Moja wiedza więc o programowaniu i prowadzeniu projektów jest mieszanką praktyki nabytej w paru firmach, własnych lektur oraz pewnych szkoleń. Po tym przydługim wstępie przejdźmy do mitów :-)Harmonogramy.
Idea jest piękna i słuszna - każdy wie co, kiedy i w jakim czasie ma zrobić, dzięki temu można podać daty tego kiedy produkt będzie dostępny, można planować kolejne releasy i tego typu sprawy.
Rzeczywistość jest taka, że gdy harmonogramy są ułożone przez kogoś kto je rozumie cały zespół zaczyna grać na harmonogram ;-) Nic nie robisz od dwóch tygodni i przez następne dwa nic nie będziesz robić? Chcesz iść w takiej sytuacji na urlop? Nie możesz, bo jak wprowadzi się Twój urlop do super programu okazuje się, że data zakończenia przesunie się o tydzień....
Częściej jest jednak tak, że harmonogram układa się dla ułożenia. Wiemy, że klient życzy sobie produktu za 3 miesiące więc tak budujemy harmonogram by na papierze trwało wszystko 3 miesiące ;-)Z moich doświadczeń widzę, że najlepszy model w tym przypadku to coś podobnego do Scrum'a [choć bez dodatków które tylko denerwują ludzi]. Developerzy to zwykle dość inteligentni ludzie i potrafią zarządzać swoją pracą tak by zmieścić się w terminach. Wtedy product manager musi wyznaczyć tylko ogólne ramy czasowe, a wszystko się samo ułoży. Dodatkowo developerzy widzą zwykle zależności czasowe i starają się samo-organizować tak by jedyną osobą na którą trzeba czekać z wykonaniem kolejnej czynności była osoba która ją wykona ;-). Jak zauważyłem takie podejście świetnie działa w małych zespołach do 5-6 osób, w większych nie miałem okazji oglądać takiego podejścia.
Zarządzanie.
Jest ważne, sęk w tym że z uporem maniaka wszędzie uczy się takiego prowadzenia projektów w którym developer sprowadzany jest do niezbyt rozgarniętego trybika. Mówiąc inaczej - do zarządzania inteligentnymi i odpowiedzialnymi ludźmi stosuje się metody stworzone do zarządzania normalnymi ludźmi. Taka mała dygresja, przeciętny developer choć w swojej grupie jest przeciętny, to w ogóle populacji utrzymuje się w górnych stanach populacji [im firma lepiej płaci tym wyższe stany to są :-)], mówiąc jeszcze inaczej częsta może być sytuacja w której szeregowi podwładni są inteligentniejsi od menadżera prowadzącego projekt. Dobrzy menadżerowie to wiedzą [i tu też zasada im firma lepiej płaci tym więcej menadżerów którzy to wiedzą :-)] i cieszą się z tego.
Konsekwencją tego stanu jest to, że w większości przypadków developerzy tym lepiej pracują im więcej wiedzą o projekcie, ale w standardowym zarządzaniu gdzie traktowani są jak tribiki nikt im nic nie mówi ponad to co muszą wiedzieć.
Rozwiązanie jest proste - Agile - czyli w najbardziej skrajnym przypadku ;-) totalna samoorganizacja, ludzie sami wprowadzają procedury i standardy. Wystarczy dać im tylko ramy, które stanowi system do bug-trackingu i repozytorium kodu. Wtedy działa to tak, że z jednej strony, poprzez system bug-trackingowy, wrzuca się oczekiwania, a z drugiej strony odbiera się produkt :-)Z doświadczenia powiem, że dla małych projektów z 5-6 developerami to działa na pewno :-)Configuration Management.
Tak naprawdę nikt do końca nie wie co to jest.... oczywiście są ludzie którzy się tym zajmują i wiedzą więcej, ale i tak dla przeciętnego zjadacza obwarzanków sprowadza się to do tego, że jakoś trzeba pracować na aktualnym kodzie jednoczenie mogąc pracować w kontekście "historycznym" ;-)Rozbuchane zasady z mnóstwem gałęzi, splitów, integracji i tym podobnych świetnie wygląda na papierze, ale zwykle jest całkowicie niepotrzebne.
Continous Integration i to w wersji najprostszej, czyli pracy na wspólnym kodzie nawet bez build centerów, automatycznych testów i podobnych pozwala na obejście większości problemów. W końcu jak duża jest szansa, że 2 lub więcej ludzi z 6 osobowego zespołu dotknie tego samego kodu i sobie będzie wzajemnie przeszkadzać? Niewielka, choć szacunkowo zdarza się to w 10-15% przypadków ;-) i narzut wynikły z opóźnień tym spowodowanych jest o wiele mniejszy niż ten wynikły z walki z gałęziami.
Dokumentacja.
To jeden z największych mitów ;-) Wszyscy chcą dokumentację do projektów [sam nieraz chciałem], ale nikt jej nie tworzy ;-) A gdy wymogi każą ją tworzyć to jest traktowana po macoszemu i nikomu nie chce się jej później aktualizować [co zwykle oznacza przepisywanie].
Sens ma dokumentowanie punktów styku między podsystemami, interfejsów, protokołów komunikacji i zamotanych algorytmów, do tego dochdzą jeszcze sytuacje gdy coś jest regulowane przez prawo i trzeba to zaimplementować, wtedy też dobrze napisać dokumentację jak to ma działać. Dobrze jest jeszcze udokumentować pewne szkielety rozwiązań i zrobić listę przykładów do naśladowania i do unikania. Choć może się okazać, że i to by było zbyt dużą liczbą dokumentów. Zwykły JavaDoc wystarcza ;-)Podsumowując mogę stwierdzić, że do developmentu próbuje się wprowadzać formalizm, ale on często zamiast pomagać zabija twórcze podejście. Brak formalizmu jest zły, ale życie dla formalizmów jest jeszcze gorsze. Najzdrowszym podejściem jest podejście rozsądne ;-) Które można wyrazić jako niedogmatyczne trzymanie się zasad ;-)

Podobne postybeta
Starzeję się ;-)
Kiedy zmieniać pracę i po co? (w IT)
"Ja? Niech ktoś inny płaci" ;-)
Mam milion rzeczy na głowie... co robić?
Język a postrzeganie rzeczywistości

Rok Darwina czas zacząć :-)

Gdyby nie wpis Pawła Wimmera na jego blogu - Poradnik Webmastera, przegapiłbym jedną z ważniejszych dat w historii nauki i ludzkości.Dokładnie 150 lat temu na spotkaniu The Linnaean Society of London [Stowarzyszenie Lineuszańskie ;-)] odczytano liczący 18 stron referat zawierający listy Karola Darwina i Alfreda Russela Wallace'a mówiące o tym jak dobór naturalny wpływa na ewolucję i zróżnicowanie gatunków.To przedstawienie nie odbiło się zbyt szerokim echem, dopiero publikacja O pochodzeniu gatunków spowodowało ożywioną dyskusję.Z powodu tej 150 rocznicy czas zacząć obchodzenie Roku Darwina :-)Więcej na Wired [w języku angielskim]


Podobne postybeta
Jadę na konferencje :-) tzn. chyba jadę ;-)
Działamy
Me Hacker ;-)
Dzień Darwina
12 stycznia - Dzień Darwina