czwartek, lipca 16, 2009

~ - czyli "tak sobie"

Chodzi mi po głowie zrobienie sobie cosia, który byłby w stanie dodawać do postów na moim blogu listę np. 5 najbardziej podobnych do aktualnego wpisu.

Sęk w tym, że spędzam nad tym zwykle z 20-30 minut w tygodniu od paru tygodni z czego większość czasu wykonuje się program, a że wszystkich wpisów na blogu jest ponad 800 to trochę czasu mu to zajmuje.
Na skutek tego, że wszystko wolno idzie rezultaty są jak na razie właśnie takie jak w tytule, czyli "takie sobie".
Ni to zgodna tematyka, ni to zgodny styl, a na skutek przyjętej techniki prawie zawsze najbardziej podobne są najdłuższe wpisy.

Oceńcie zresztą sami ;-)
[Instruckja: Nazwa posta prowadzi do posta na blogu, dlatego najlepiej otwierać te linki w nowej tabce, --> to link, który powinien poprowadzić do fragmentu "analizy" dotyczącej danego dokumentu, distance to odległość między dokumentami, a liczba w ( ) to odwrotność distance]




Liczę, że w końcu w ten weekend będzie mi się chciało i użyję do tego szukania podobnych wpisów czegoś więcej niż liczenia odległości między dokumentami :-)

Podobne postybeta
Czy się stoi czy się siedzi... Rasbperry Pi z czujnikami ultradźwiękowymi to stwierdzi ;-)
Nie tylko IE6 powinno pójść do piachu, każdy Internet Explorer powinien!!!!
Forma nad treścią
Totalna beta ;-) czyli Nowy Gadacz v 0.1
Lenie ;-)

środa, lipca 15, 2009

Jebana ignorancja

Dwa przykłady z dziś.

W pracy ktoś mówił o 2012 i końcu świata... Najpierw myślałem, ze to standardowy dowcip z serii "po co się męczyć, przecież w 2012 i tak się wszystko skończy", ale wsłuchując się dalej zrozumiałe, że ktoś kto ma wyższe wykształcenie techniczne twierdzi, że zmiana biegunów magnetycznych Ziemi spowoduje katastrofy bo zmieni się kąt osi obrotu. Ludzie gdzie przebiegunowanie, a gdzie precesja?
Dowodem tego ma być to, że w 2012 roku kończy się kalendarz Majów? Z całym szacunkiem, ale Majowie to była banda dzikusów nie rozumiejących co się wokół nich dzieje [to samo zresztą dotyczy naszych przodków].
Ludzie, przecież każdy z nas po skończeniu edukacji nawet tylko na poziomie średnim ma za sobą jakieś 8 lat nauki geografii i fizyki. Będzie tego łącznie pewnie z 1000 godzin lekcyjnych.... I takie coś? U awangardy technicznej?
Wstyd!

Drugi przykład na wykopie. Jakiś pan doktor z ameryki informuje, że szczepienia są złe i szkodliwe. Od razu banda ignorantów pyta jak można uniknąć szczepień..... a bełkot ląduje na pierwszej stronie.
Czy te kretyny rozumieją w ogóle co to jest szczepienie i po co?
Każdy rozsądny lekarz powie, że szczepienie jest potencjalnie szkodliwe, bo np. 1/10000 przypadków może skończyć się źle. Ale każdy przyzna też, że brak szczepienia całej populacji jest o stokroć bardziej niebezpieczny! Bo taka np. ospa zabijała od ręki 30-40% populacji. Szczepiąc się więc zmniejszamy szansę śmierci z jakichś 20% do 0.1 promila. Jedna głupia szczepionka powoduje, że szanse na śmierć są mniejsze o 2000 razy!

Czy to się komu podoba czy nie, nauki ścisłe i biologia zbudowały współczesny świat. Nie da się w nim więc żyć jako pełny i odpowiedzialny obywatel bez chociaż minimum wiedzy z tych dziedzin.
Jak masz świadomie wybierać swoich reprezentantów, którzy będą podejmowali decyzję w sprawie budowy elektrowni atomowych czy in vitro bez chociaż minimalnej wiedzy o co w tym właściwie chodzi???

Podobne postybeta
Rejestracja na szczepionkę
O wyższości podejmowania decyzji partiami zamiast per sztuka ;-)
Nieuki
Historia czy Histeria? ;-)
Państwo wybiórczo opiekuńcze ;-)

poniedziałek, lipca 13, 2009

Co ssie w G1?

Po pierwsze bateria.
Naprawdę HTC mogłoby zrobić wersję z baterią ;-)
W przypadku G1 możesz sobie ze smutkiem popatrzeć na stareńkie telefony, które wytrzymują tydzień bez ładowania. W przypadku G1 jeden tydzień zmienia się w jeden dzień.

Po drugie palcowanie.
Gdy widzisz po raz pierwszy używane G1 to zastanawiasz się czemu jego użytkownik nie myje rąk. Cały ekran pokryty jest śladami tłustych paluchów.
Nie daj jednak boże umyjesz ręce i jest tragedia, bo nagle tarcie między twoim palcem a ekranem jest większe niż siła z którą próbujesz ten palec przesuwać. Spróbuj wtedy narysować wzór odblokowujący telefon ;-)

Po trzecie prędkość.
Jest taka ładna kalka językowa "responsywność", momentami w G1 jest z nią bardzo słabo.
Co jakiś czas po kliknięciu na "domek", który prowadzi Cię do ekranu domowego możesz przez kilka sekund patrzeć tylko na tapetę i czekać... i czekać... i czekać....
Choć to akurat cecha wielu mobilnych systemów. Wygląda to tak, że ludzie piszący soft mają szybsze wersje, ale później w ramach przybliżania urządzenia do praw fizyki i ekonomii gdzieś ta prędkość zanika i pojawiają się lagi.

W gruncie rzeczy G1 to GeekPhone i jako taki jest świetny, ale jest w nim jeszcze parę rzeczy do poprawienia ;-)

Podobne postybeta
Tramwaj uczy i wychowuje ;-)
Co się odwlecze, to nie uciecze ;-)
Steam Deck OLED po 24h :-)
Chcę szybki komputer!
Egipt, Tunezja, Londyn, whatever, czyli chcem na urlop

Chyba w końcu przejdę na ciemną stronę - otworzę sobie linię kredytową ;-)

Kolejny krok ku dorosłości ;-)

Karta kredytowa......

Co prawda swojego pierwszego AmExa dostałem jakieś 4.5 roku temu, ale miał to do siebie, że był [a dokładniej były bo to 2 karty były] korporacyjny.
Teraz zresztą też takowego mam, choć stoi za nim już inna korporacja ;-)

Długo się zastanawiałem i już chyba podjąłem decyzję. Wejdę w to.

Główne wabiki to Android Market i Amazon.com.
Android Market bo gdybym chciał wrzucić jakąś swoją aplikację to muszę w tym celu założyć konto, a to wiąże się z drobną opłatą do której karta jest niezbędna,
Amazon.com z wielu powodów, niestety wiele fajnych książek nie zostało w Polsce wydanych lub wydano je całe wieki temu. Taki np. The Last Theorem Arthur'a C. Clarke'a kusi ;-) Do tego w Amazon.com mają płyty DVD, a na nich 7 sezonów Buffy... Są tam też książki takie jak The Wisdom of Crowds, albo The Blind Watchmaker której polska wersja była wydane jakieś 10 lat temu i nie można jej nigdzie kupić.

Tak oto przejdę na ciemną stronę mocy... a wszystkiemu winne książki i programowanie.

Jeden plus, że dzięki temu powinienem pomóc w rozruszaniu gospodarki, a na dodatek nabiorę wiarygodności kredytowej ;-)


Podobne postybeta
Książkowy Stack Overflow ;-)
Wolne komputery nie pozwalają się skupić....
Przybijające cosie.......
A tak sobie ;-)
Zła lojalność ;-)

sobota, lipca 11, 2009

A może niepotrzebnie aż tyle śpimy?

Dziś jak zwykle zdarzyło mi się obudzić o wiele za wcześnie i czułem się wtedy świetnie, wyspany i gotowy do działania, ale że była to 6:55 czyli 2 godziny przed planowanym przeze mnie terminem wstania to poszedłem spać dalej.
O 8:55 było gorzej ;-)

W ramach zaś głupiego myślenia zaczęły mi się kojarzyć fakty ;-)

Jest taki lek zwany modafinilem, którego najbardziej widocznym rezultatem jest to, że wystarczy przespać się 2 godziny by być wypoczętym jak po 8. Podobno nie zaobserwowano jak na razie żadnych poważniejszych skutków ubocznych, a te zauważone mają związek z reakcją skóry [ciekawe czy ma to coś wspólnego z faktem, że skóra lubi się z melatoninom, która związana jest właśnie ze snem] albo z interakcją z innymi lekami. Nie zauważono jednak podobno żadnych efektów ubocznych samego braku snu.

Oczywiście jestem sceptyczny bo zawsze patrząc na na takie sprawy mówię sobie, że przecież ewolucja promowała tych z naszych przodków, którzy byli najbardziej aktywni i czujni. Dlatego wszelkie środki zwiększające naszą aktywność, czujność czy koncentrację prędzej czy później upominają się o swoje.
Wydaje się więc logiczne, że śpimy ile śpimy bo to jest nam potrzebne do życia.
W końcu sen to swego rodzaju marnotrawstwo czasu. Śpiące zwierze zamiast robić to co jest jego celem, czyli rozmnażać się lub jeść [co jest przecież tylko środkiem do zdobycia energii na rozmnażanie ;-)] po prostu się wyleguje i nie robi nic pożytecznego.
Można więc domyślać się, że to coś co zajmuje nam blisko 1/3 życia jest nam niezbędnie potrzebne w takich ilościach.

Ale dziś w ramach głupiego myślenia pojawiła mi się "teoria", która tłumaczy to inaczej. Może głównym celem snu nie jest odpoczynek, czy nawet porządkowanie informacji zebranych w ciągu dnia, ale po prostu przełączenie osobnika w stand by, w którym zużywa mniej energii? Może strategia z przejściem w tryb snu jest bardziej opłacalna niż maksymalizacja czasu poszukiwania pożywienia i partnerów? Może bardziej opłacalne jest przystosowanie się do trybu dziennego lub nocnego, a zysk z ewentualnej aktywności w czasie do którego nie jest się przystosowanym jest niższy od ryzyka, że zostanie się czyjąś przekąską?
Może taka strategia jest ewolucyjnie stabilna? Jakieś przesłanki za tym przemawiające są ;-)

Podobne postybeta
Hackowanie człowieków - kiedy?
Cud Tuska i Kopacz, polska medycyna bardziej wydajna niż niemiecka
Szycie....
Czemu obecny Sejm i rząd są wyjątkowe?
Be human for engineers: Instrukcja obsługi człowieka - marzy mi się coś takiego ;-)

Cud Tuska i Kopacz, polska medycyna bardziej wydajna niż niemiecka

Oto dlaczego nie lubię tego rządu.

W Niemczech składka zdrowotna wynosi około 14%, dodatkowo idąc do lekarza Niemiec płaci za każdym razem 10 euro. 14% w kraju w którym zarobki są jakieś 3-5 razy wyższe niż w Polsce.

A u nas po tym jak prezes NFZ zaproponował podniesienie składki z 9% do 9.25% spotkało się z odpowiedzią Pani minister:
Oczekiwania ministra zdrowia w stosunku do prezesa są takie: pokazać jak największą koncentrację na racjonalnym wydawaniu pieniędzy, które są, a nie w sięganiu do kieszeni obywateli po raz kolejny

Patrzcie jacy ci Niemcy głupi i nieracjonalni. Tyle kasy wydają, a przecież nie muszą. Nasza Pani minister przecież wie co mówi!
U nas jest od 4 do 8 razy mniej pieniędzy na jednego pacjenta i wystarczy zracjonalizować wydawanie pieniędzy i będzie super.

No cud po prostu, polska medycyna najtańszą medycyną w Europie!

Pacany......

Bo albo u nas służba zdrowia jest niedofinansowana, albo w Niemczech przepłacona. Inaczej się nie da.
Różnica dochodów tu nie działa tak bardzo. Pensje lekarzy i pielęgniarek, czy opłaty za prąd i wodę stanowią tylko część kosztów opieki medycznej. Leki i sprzęt są produkowane głównie poza granicami Polski przez co i w Polsce i Niemczech kosztują podobnie. Nie jest więc tak, że u nas coś jest o 4 razy tańsze, może być 2 razy tańsze, ale nie 4.

Głowy nie dam, ale mam dziwne przeczucie, że gdy za n lat już "pozbędziemy" się tego paskudnego NFZ i resztek państwowej służby zdrowia to nagle koszty podskoczą.

Tak btw. jak to jest, że do słynnej reformy Buzka jakoś ten system funkcjonował. Ale że był "zbyt" upaństwowiony to go zreformowano i w miejsce państwowych przychodni powstały prywatne, które uwłaszczyły się na "mieniu publicznym", bo prywatne jest lepsze, lepiej zarządzane i tańsze...... No i nagle się okazało, że kasy brakuje. I jako leczenie proponuje się dalszą prywatyzację.

Lek nie działa? Powoduje pogorszenie stanu zdrowia? Widać "logiczną" konsekwencją w takiej sytuacji jest zwiększenie dawki.


Podobne postybeta
A ja jestem przeciwny prywatyzacji służby zdrowia.
Amoralna modlitwa
O prywatnej i publicznej służbie zdrowia.
A może niepotrzebnie aż tyle śpimy?
WTF z nasiadówkami u szeregowego posła???

wtorek, lipca 07, 2009

Darwin czy Bach? ;-)

[...] Ojciec Oszajca, jezuita w cywilu, poucza, że "bez lekcji religii nie da się pojąć Bacha". Ale z lekcjami religii nie da się pojąć Darwina, więc może uczmy religii tylko tych, co mają słuch, bo dla reszty bilans jest średnio opłacalny.

"Tydzień z głowy", NIE 28/2009




Podobne postybeta
Dzień Darwina
Wróciłem z "wycieczki"
Java i Chrome OS część 2 :-)
Nie bądź jak miś koala....
Hodowla ;-)

poniedziałek, lipca 06, 2009

Niska cena

O napisaniu paru słów o cenach w IT myślałem od dłuższego czasu, piszę teraz bo sprowokował mnie do tego wpis na blogu Pawła Wimmera.

Często słychać od użytkowników pretensje co do tego, że "Windows jest za drogi", widać zdziwienie na twarzach klientów gdy dowiadują się, że stworzenie dla nich systemu kosztować będzie np. 2 mln złotych.

Mały projekt, z 5 programistami, bez managerów i testów, czyli sami stukacze to w ciągu roku koszt od 0.5 do 1 mln złotych. Każdy z programistów będzie średnio kosztował pracodawcę z 8-12 tysięcy złotych miesięcznie i to tylko gdy mowa o kosztach płacowych i ubezpieczeniach. Do tego dochodzi jeszcze miejsce pracy i sprzęt.

A sami programiści to za mało by coś zrobić.

Oczywiście jeżeli ci programiści stworzą system, czy program który sprzeda się 1000 klientów to wystarczy by koszt jednostkowej licencji wynosił 500-1000 złotych i producent wyjdzie na zero.

W tym miejscu pojawiają się ludzie tacy jak ja. Czyli psuczace rynku. To, że robię OOo2GD, Gadacza czy Blipusia za darmo wynika tylko z tego, że istnieje firma, która zapewnia mi chleb, a ja w wolnym czasie mogę oddawać się perwersji ;-)
Jednak przez to psuję rynek, bo dostarczam produkty za darmo przez co wzbudzam w wielu osobach przekonanie, że oprogramowanie jest tanie.

Nie jest i wiele wskazuje na to, że nie może być tanie.

Po pierwsze do jego tworzenia potrzebni są specjaliści, którzy naprawdę znajdują się w wąsie krzywej rozkładu normalnego. Jeśli nie zarobią dobrze to pójdą sobie do innego biznesu i tam będą robić pieniądze. Pracuję wśród tych ludzi i większość z nich to ludzie, którzy są oddaleni od środka rozkładu normalnego o co najmniej 2.5 odchylenia standardowego. Muszą być piekielnie inteligentni, do tego twórczy, a mimo wszystko dokładni.

Po drugie by stworzyć program potrzeba czasu. Dużo czasu. Ten czas nie jest nawet potrzebny tak bardzo na samo pisanie, ale czasem po prostu nowe możliwości widać dopiero w momencie gdy dojdzie się do jakiegoś etapu. Zaczynasz, rozwijasz i dopiero w pewnym momencie widzisz, że można pójść pewną drogą.

Po trzecie zarządzanie. To, że w IT mamy product managerów to nie wymysł a konieczność. Ktoś musi rozumieć klienta i umieć z nim rozmawiać. Dodatkowo gdy masz paru ludzi to często potrzebujesz kogoś kto w najlepszym przypadku będzie rozwiązywał węzły wzajemnych stosunków, a w realnym świecie także kogoś kto zagna ludzi do pracy i powie im co mają robić [choć tu IT miewa odstępstwa od reguł bo czasem projekty się same zarządzają].

Po czwarte testy. Ludzie robią błędy. A programy komputerowe w odróżnieniu do wielu innych wyrobów myśli ludzkiej są na tyle złośliwe, że się nie zawalają na skutek grawitacji. Błąd w jednym obszarze może wpływać na coś co jest daleko, w innym systemie i w ogóle nie ma związku... i często tak bywa ;-)
Ludzie, czas i sprzęt kosztują.


A teraz zabawne. Jak to jest, że większość ludzi kupujących przygłupie tapetki czy filmiki na telefony komorkowe ma w domu pirackiego Windowsa? Jak to jest, że nie szkoda im pieniędzy na marnej jakości pornografię w komórce [zawsze zachodziłem w głowę po co komu porno na komórce], a mają pretensje do Microsoftu, że "Windows taki drogi"...

koniec bo mi się oczy kleją ;-) Widać nie napisałem zbyt porywającego tekstu, skoro sam przysypiam ;-)


Podobne postybeta
Cukierki, radosny chaos i takie tam, czyli Przemkowe rojenia ;-)
Kiedy zmieniać pracę i po co? (w IT)
Dziwne finanse, dziwna gospodarka......
SpaceX - jak można być innowacyjnym, nie będąc innowacyjnym? ;-)
3 "kuchenne" sekrety

niedziela, lipca 05, 2009

Flaker

Lubię Flakera i podoba mi się bardziej od Blipa, ale ma jedną zasadniczą wadę.
W Blipie można stworzył ładną i dość kompaktową wklejkę na bloga.

We Flakerze można wklejkę co najwyżej stworzyć, bo ani ona ładna, ani kompaktowa.



API też wygląda na trochę udziwnione, ale ma plusa w postaci tego, że jest dużo prostsze niż to do Blipa :-) [Przyglądam mu się bo myślę o dodaniu obsługi Flakera do Blipusia ;-)]

Dla mnie największym plusem Flakera jest to, że bliski jest mojego ideału czyli serwisu, który gromadziłby w jednym miejscu wszystkie nasze komentarze czy reakcje na to co znaleźliśmy w Internecie. Flaker potrafi np. wrzucić do naszych "flaków" informację o tym, że wykopaliśmy jakiś wpis na Wykopie. Nie potrafi jednak jak na razie wrzucić informacji o tym, że na tymże Wykopie coś skomentowaliśmy.
Także jego feed pozostawia jeszcze wiele do życzenia, głównie przez to, że po wklejeniu np. do takiego Facebooka pojawi nam się dużo informacji w stylu "użytkownik wykopał/odwiedził/skomentował/blipnął" ale bez treści.

Ale poza tym co skrytykowałem ;-) Flaker jest niezły.
Zobaczymy jak będzie dalej ;-)

A ja zapraszam na do "moich flaków" ;-)


Podobne postybeta
Flaker
Trudne USB...
Automagizacja ;-)
"W przededniu" pierwsza książka Orsona Scott Carda, która jest SF ;-)
BLIP API rozrabia, czyli czemu Blipuś był zszedł ;-)

Tworzenie poprawnych nazw plików :-)

Java jest świetna do pisania przenośnych aplikacji, które będą działały na różnych systemach.
Co prawda Swing wcale nie gwarantuje tego, że aplikacja będzie zachowywała się zawsze tak samo ;-), głównie zresztą za przyczyną Apple, które wie lepiej i ma swoją maszynę wirtualną. Ale mimo wszystko jest dobrze......

Do czasu gdy chcesz pobrać plik z sieci i zapisać go na dysku ;-)

W OOo2GD do stworzenia nazwy pliku używam tytułu dokumentu, a w tym tytule użytkownik może złośliwie użyć takich znaków jak :, albo *, albo i / czy \. Ogólnie zgroza ;-)

Dlatego w ramach nanoszenia poprawki na OOo2GD postanowiłem zabezpieczyć je przed problemami z dziwnymi nazwami plików.

Przy pierwszym podejściu wyrzucam z nazwy plików znaki / oraz separator elementów ścieżki do pliku [w Uniksach / w Windows \]... dalej jest już ciekawiej ;-)

public static String findAvailableFileName(String destFileURI) {
String destFileName = destFileURI.substring(0,destFileURI.lastIndexOf("."));
String destFileExt = destFileURI.substring(destFileURI.lastIndexOf(".")+1);
int count = 1;
File f;
while ((f=new File(destFileURI)).exists()) {
destFileURI=destFileName+"("+(count++)+")"+"."+destFileExt;
}
String fName = f.getName();
String fPath = f.getParent();
// Now we need to check if given file name is valid for file system, and if it isn't we need to convert it to valid form
if (!(testIfFileNameIsValid(destFileURI))) {
List forbiddenCharsPatterns = new ArrayList();
forbiddenCharsPatterns.add("[:]+"); // Mac OS, but it looks that also Windows XP
forbiddenCharsPatterns.add("[\\*\"/\\\\\\[\\]\\:\\;\\|\\=\\,]+"); // Windows
forbiddenCharsPatterns.add("[^\\w\\d\\.]+"); // last chance... only latin letters and digits
for (String pattern:forbiddenCharsPatterns) {
String nameToTest = fName;
nameToTest = nameToTest.replaceAll(pattern, "_");
destFileURI=fPath+"/"+nameToTest;
count=1;
destFileName = destFileURI.substring(0,destFileURI.lastIndexOf("."));
destFileExt = destFileURI.substring(destFileURI.lastIndexOf(".")+1);
while ((f=new File(destFileURI)).exists()) {
destFileURI=destFileName+"("+(count++)+")"+"."+destFileExt;
}
if (testIfFileNameIsValid(destFileURI)) break;
}
}
return destFileURI;
}

private static boolean testIfFileNameIsValid(String destFileURI) {
boolean valid = false;
try {
File candidate = new File(destFileURI);
String canonicalPath = candidate.getCanonicalPath();
boolean b = candidate.createNewFile();
if (b) {
candidate.delete();
}
valid = true;
} catch (IOException ioEx) { }
return valid;
}

Ładniejsze źródła tutaj.

Idea jest taka, po pierwsze próbujemy pozbyć się znaku ":", który jak się wydaje nie jest wspierany przez żaden system plików jako element nazwy pliku :-)
Później próbujemy pozbyć się znaków specyficznych dla FAT32 [jak mi się wydaje], czyli np. nawiasów kwadratowych, czy masek [* i prawdopodobnie również ?, którego w kodzie jeszcze nie ma ;-)].
Gdy to nie poskutkuje idziemy na całość i wyrzucamy wszystkie znaki, które nie są literami łacińskimi lub cyframi.

Do tego dobrze by było by nie nadpisać istniejącego już pliku, dlatego na każdym kroku należy się upewnić, że dana nazwa jest dostępna.

Samo zaś testowanie czy plik o danej nazwie może zostać stworzony to smutny przykład wykorzystania wyjątków. Najpierw próbujemy pobrać kanoniczną ścieżkę do pliku przez getCanonicalPath(), które w przypadku gdy nazwa pliku jest zła wyrzuci wyjątek, a następnie próbujemy stworzyć plik. To drugie jest zbędne, ale w ramach dmuchania na zimne lepiej je zostawić ;-)

Podobne postybeta
Czemu Sejm i Senat nie korzystają z żadnego systemu kontroli wersji?
Pomnóżmy sobie duże liczby ;-)
Zinwigiluj się sam ;-)
SleepAdvisor - komórka pomaga w wyspaniu się ;-)
Matematyczne podstawy zakupu skarpetek ;-)