Advertisement
MSM

Untitled

MSM
Mar 27th, 2015
716
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 116.86 KB | None | 0 0
  1. Podsumowuj?c: moim zdaniem podej?cie z C# (extension methods) to taka uboga wersja konwersji implicit ze Scali natomiast podej?cie z Javy 8 to dodanie namiastki mixin▒w ze Scali z zachowaniem kompatybilno?ci wstecznej.
  2.  
  3. Co s?dzicie o podej?ciach w tych j?zykach, wzgl?dnie w innych j?zykach statycznie typowanych? MSZ extension methods z C# to co najwy?ej oszcz?dzaj? kilka znak▒w przy wywo?aniu metod, jako ?e zamiast ob.extensionMethod() mo?na zrobi? ext.extensionMetdhod(ob), gdzie ext to obiekt dostarczaj?cy dodatkowych metod. Defender methods z Javy natomiast daj? mo?liwo?? bardzo ograniczonego wielodziedziczenia, co mo?e znacz?co zmniejszy? ilo?? metod do zaimplemetowania czy wydelegowania.
  4.  
  5. Nie wiem jaka jest polityka dotycz?ca .NETa, ale w Javie autorzy skupiaj? si? na kompatybilno?ci wstecznej. Defender methods s? dlatego, ?e chc? do kolekcji doda? takie funkcje jak map(), forAll(), filter() etc nie powoduj?c b??d▒w kompliacji ju? istniej?cych wyspecjalizowanych, zewn?trznych implementacji kolekcji. W .NETu by? mo?e jest tak, ?e pod ka?dy numerek trzeba pisa? inn? wersj? bibliotek/ aplikacji - nie wiem.
  6.  
  7. Kozio? i Kr▒lik lubi? zabawy z zaawansowanymi funkcjonalno?ciami j?zyk▒w, wi?c ich zdanie by mnie ciekawi?o. Deus pewnie pokaza? by, ?e w Haskellu mo?na to wszystko zaimplementowa? 30 x szybciej, ale niestety si? ju? nie pojawia.
  8. from_unixtime(post_time): 2011-08-06 00:08:54
  9. *************************** 36. row ***************************
  10. post_id: 767018
  11. text_content: Kumpel ma problem jak w tytule. System to, ZTCP, WinXP. Pod Mozill? i Explorerem jest OK. Kto? mia? podobny problem?
  12. from_unixtime(post_time): 2011-08-09 14:52:50
  13. *************************** 37. row ***************************
  14. post_id: 767094
  15. text_content: We wczesnych inkarnacjach Java u?ywa?a zielonych w?tk▒w i wydajno?? ich by?a nawet sporo lepsza od natywnych w?tk▒w, per: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.8.9238&rep=rep1&type=pdf Obecnie desktopowe JVMy nie wspieraj? ju? zielonych w?tk▒w, mo?na je sobie co najwy?ej emulowa?.
  16.  
  17. Zielonych w?tk▒w nie u?ywa si?, podaj?c nast?puj?ce argumenty:
  18. - ograniczone s? do jednego rdzenia,
  19. - blokada I/O blokuje ca?? maszyn? wirtualn?.
  20. Mo?na to jednak obej??. Mo?na u?ywa? asynchronicznego I/O, co wyeliminuje drugi problem. Problem pierwszy mo?e by? zaradzony (wtf, nie ma takiego s?owa?) poprzez odpalenie tylu natywnych w?tk▒w ile jest rdzeni, a potem mo?na tworzy? zielone w?tki i przerzuca? je na tych kilku natywnych w?tkach.
  21.  
  22. Z tego co na szybko wyczyta?em na necie to GHC u?ywa zielonych w?tk▒w wraz z "trikami", kt▒re opisa?em powy?ej.
  23.  
  24. Zielone w?tki pozwalaj? uniezale?ni? si? od przerwa?, tzn prze??czanie w?tk▒w czy proces▒w mo?na robi? ca?kowicie software'owo. Interesuje mnie to, bo planuj? napisa? kiedy? w?asn? maszyn? wirtualn? :)
  25.  
  26. Kto? wie czy s? jakie? (w miar?) nowe maszyny wirtualne wielow?tkowe z zielonymi w?tkami i jak stoi ich skalowalno???
  27. from_unixtime(post_time): 2011-08-09 20:37:50
  28. *************************** 38. row ***************************
  29. post_id: 768333
  30. text_content: Chc? zbudowa? iterator do generowania dw▒ch (bardzo zbli?onych) typ▒w niesko?czonych ci?g▒w. Nazwijmy je "dw▒jkowy" i "tr▒jkowy".
  31.  
  32. Dw▒jkowy ma posta?:
  33. aabaabcaabaabcdaabaabcaabaabcde....
  34.  
  35. Tr▒jkowy ma posta?:
  36. aaabaaabaaabcaaabaaabaaabcaaabaaabaaabcd...
  37.  
  38. Dw▒jkowy mo?na zbudowa? tak:
  39. 1. Startujemy od ci?gu z?o?onego z jednej litery
  40. 2. W ka?dej kolejnej iteracji, ??czymy ci?g ze swoj? kopi?, a na koniec dodajemy najmniejsz?, nie u?yt? jeszcze liter?.
  41.  
  42. Kolejne kroki konstrukcji wygl?daj? wi?c tak:
  43. 1. a
  44. 2. aab
  45. 3. aabaabc
  46. 4. aabaabcaabaabcd
  47. itd
  48.  
  49. Tr▒jkowy mo?na zbudowa? analogicznie, tylko w punkcie drugim, zamiast ??czenia z jedn? dodatkow? kopi?, ??czymy z dwiema dodatkowymi kopiami.
  50.  
  51. Zamiast sklejania ci?g▒w chc? mie? jednak iterator do generowania ci?g▒w. Po wygenerowaniu n-tego znaku iterator powinien zawiera? w sobie stan o rozmiarze O(lg n) (wzgl?dnie O(lg^2 n) je?eli zak?adamy zmienn? d?ugo?? typ▒w danych, np BigInteger, ale za?▒?my, dla prostoty, ?e nie wygenerujemy nigdy wi?cej jak np 2^60 znak▒w). Wygenerowanie jednego znaku (w dowolnym stanie iteratora) powinno mie? z?o?ono?? zamortyzowan? O(1).
  52.  
  53. Ma kto? pomys?? :D
  54. from_unixtime(post_time): 2011-08-16 12:41:59
  55. *************************** 39. row ***************************
  56. post_id: 769115
  57. text_content: Siedz? sobie na Ubuntu 11.04 i Banshee wy??cza si? co kilka - kilkana?cie piosenek i nawet nie pierdolnie komunikatu o b??dzie. (Mo?e dlatego, ?e lata na niedorobionym Mono?)
  58.  
  59. Jakie s? wasze do?wiadczenia z Ubu (oczywi?cie pomijaj?c stery od grafy)? Jak dla mnie to stabilno?? 11.04 jest w miar? OK, czasem nie wy??czam kompa przez gdzie? 10 dni, albo i wi?cej i chodzi w miar?. Windowsa 7 ci??ko tak przetestowa?, chyba ?e si? wy??czy automatycznie resetuj?ce kompa aktualizacje :P
  60. from_unixtime(post_time): 2011-08-20 17:44:10
  61. *************************** 40. row ***************************
  62. post_id: 770108
  63. text_content: Tworz? wsp▒?bie?ny algorytm sortowania blokowego, tzn co? w stylu algorytmu stosowanego w bzip2. Przy sortowaniu blokowym (block-sorting) mo?na wyindukowa? posortowany porz?dek pewnych podci?g▒w z posortowanego porz?dku innych podci?g▒w, korzystaj?c z faktu, ?e sortowanie blokowe sortuje podci?gi tego samego ci?gu bazowego.
  64.  
  65. W moim programie u?ywam Copy Transform, wymy?lonego przez Juliana Sewarda, autora bzip2. Opisz? jak dzia?a ten algorytm w przypadku sufiks▒w, najpierw troch? obja?ni? spos▒b zapisu:
  66.  
  67. B_a to du?y kube?ek, zawieraj?cy wszystkie sufiksy zaczynaj?ce si? na liter? a,
  68. b_ab to ma?y kube?ek, zawieraj?cy wszystkie sufiksy zaczynaj?ce si? od liter "ab"
  69.  
  70. Du?y kube?ek B_a sk?ada si? z kube?k▒w {b_aa, b_ab, ..., b_az}
  71.  
  72. Maj?c posortowany kube?ek B_d mog? z niego wyindukowa? posortowany porz?dek kube?k▒w {b_ad, b_bd, b_cd, b_ed, ..., b_zd} w zaledwie jednym przej?ciu po tym du?ym kube?ku. Tak jest w oryginalnym Copy Transform. P▒?niej Seward zorientowa? si?, ?e kube?ek b_dd mo?na wyindukowa? z kube?k▒w {b_da, b_db, b_dc, d_de, ..., d_dz} (co widocznie przyspieszy?o jego bzipa na niekt▒rych danych wej?ciowych).
  73.  
  74. Moim problemem jest obliczenie optymalnej sekwencji indukowania kube?k▒w, tzn kube?ki maj? r▒?ne rozmiary, a ja chc? zminimalizowa? ??czny rozmiar kube?k▒w, kt▒re musz? posortowa? za pomoc? por▒wna?, aby wyindukowa? reszt?.
  75.  
  76. Aktualnie wydajno?? wygl?da tak:
  77. <code> Copy ascending Copy simple-ratio Improved two-stage
  78. chr22.dna 35.56 31.67 26.68
  79. etext99 49.75 38.64 31.10
  80. gcc-3.0.tar 42.63 33.46 26.77
  81. howto 45.51 36.13 28.55
  82. jdk13c 47.63 35.05 30.06
  83. linux-2.4.5.tar 44.12 35.20 26.80
  84. rctail96 49.00 36.57 30.28
  85. rfc 40.17 32.28 25.83
  86. sprot34.dat 43.14 38.07 29.26
  87. w3c2 47.46 36.22 29.90
  88.  
  89. mean 44.50 35.33 28.52</code>
  90. Gdzie:
  91. - Copy ascending, to normalna wersja Copy Transform, gdzie sortuje si? kube?ki od najmniejszego do najwi?kszego,
  92. - Copy simple-ratio, to Copy Transform z moj? heurez? do obliczania sekwencji indukowania,
  93. - Improved two-stage to inny algorytm indukowania posortowanego porz?dku, ale nie ma pomys?u jak by go sensownie zr▒wnolegli?,
  94.  
  95. Liczby oznaczaj? procent sufiks▒w, kt▒re trzeba posortowa?, aby m▒c wyindukowa? reszt?. Jak wida? moja heureza znacznie poprawia efektywno?? Copy Transform, ale i tak daleko jej do ITS. (Nota bene: ITS jest opisany w dokumencie: http://homepage3.nifty.com/wpage/software/itssort.txt ).
  96.  
  97. Ma kto? pomys? czego u?y?, aby uzyska? optymaln? sekwencj? indukowania?
  98. from_unixtime(post_time): 2011-08-24 14:19:25
  99. *************************** 41. row ***************************
  100. post_id: 770302
  101. text_content: Ostatnio si? zastanawia?em, co by tu zrobi?, ?eby nie trzeba by?o wymy?la? nowego has?a dla ka?dego serwisu. Albo inaczej - skoro ma?o kto wymy?la i zapami?tuje pierdylion hase? do pierdyliona serwis▒w - aby nie trzeba by?o si? nara?a?, ?e has?o gdzie? wycieknie.
  102.  
  103. Mo?na niby logowa? si? za pomoc? OpenID, OpenBleble, Facebooka, Gmaila, czy te? innych popierd▒?ek. Jest jednak sporo ludzi, kt▒rzy nie korzystaj? z takich serwis▒w albo maj? np w robocie odci?te. Za to konto e-mail ma raczej ka?dy i chcia?bym wymy?li? co?, co wymaga tylko mejla.
  104.  
  105. Przyk?adowy schemat m▒g?by wygl?da? tak:
  106. - wchodz? na stron? z logowaniem, wpisuj? sw▒j adres email i klikam loguj (+ ewentualnie zapami?taj/ nie wylogowuj),
  107. - serwis wysy?a maila z kodem uwierzytelniaj?cym/ linkiem do logowania na mejla,
  108. - klikam na tego linka albo wpisuj? kod uwierzytelniaj?cy na stronie,
  109.  
  110. Teraz kwestie bezpiecze?stwa:
  111. - po??czenie z serwisem oczywi?cie po HTTPS z jakim? sensownym szyfrowaniem,
  112. - aby zapobiec phishingowi, mejle nie powinny zawiera? ?adnych link▒w, w takim razie wysy?any by?by tylko i wy??cznie kod uwierzytelniaj?cy,
  113.  
  114.  
  115. Mam pytanie co do samego bezpiecze?stwa mejli: czy da si? przechwyci? mejle? Istnieje odpowiednik HTTPSa dla mejli, tak aby mo?na by?o korzysta? z podpisanych certyfikat▒w i odrzuca? po??czenia z niepodpisanymi certyfikatami?
  116.  
  117. Je?eli da si? przechwyci? mejla to obecne systemy logowania te? zawodz?, a to za spraw? funkcjonalno?ci pt przypominanie/ resetowanie has?a poprzez wysy?anie mejla z linkiem czy kodem. Zak?adaj?c, ?e kto? podgl?da mejle, to mo?e taki link czy kod wykorzysta? tu? po jego wykryciu, zanim u?ytkownik z niego skorzysta.
  118. from_unixtime(post_time): 2011-08-25 10:34:52
  119. *************************** 42. row ***************************
  120. post_id: 774863
  121. text_content: Jak to z tym jest? Na pewno prawo si? w k▒?ko zmienia.
  122.  
  123. Promotor podes?a? mi linka: http://www.rp.pl/artykul/697407.html
  124.  
  125. W zasadzie wsz?dzie pisze si? o pracy magisterskiej, natomiast ja do pracy do??czam jeszcze program (kody ?r▒d?owe + mo?e kod wykonywalny). Chcia?bym np w przysz?o?ci zarabia? na tym programie (je?li si? uda) nie p?ac?c jakich? tantiem dla UJ.
  126.  
  127. A mo?e w og▒le kodu ?r▒d?owego nie do??cza?, tylko sam pseudokod? Jak to widzicie?
  128. from_unixtime(post_time): 2011-09-14 11:59:42
  129. *************************** 43. row ***************************
  130. post_id: 779204
  131. text_content: Niech R b?dzie relacj? symetryczn? i przechodni? na zbiorze X. Przeprowadzamy nast?puj?ce rozumowanie. Niech xRy. Poniewa? R jest symetryczna, wi?c yRx. Zatem na mocy przechodnio?ci R z warunk▒w xRy i yRx wynika xRx, czyli R jest zwrotna bo x by?o dowolne. Gdzie jest b??d w tym rozumowaniu?
  132.  
  133. Jacek Gancarzewicz, Algebra liniowa i jej zastosowania, WUJ, Wydanie I, 2004, strona 59, zadanie I.12.
  134.  
  135. Powtarzam sobie algebr? i natrafi?em w?a?nie na zadanie, kt▒rego nie mog? rozgry??.
  136. from_unixtime(post_time): 2011-10-03 16:13:03
  137. *************************** 44. row ***************************
  138. post_id: 779555
  139. text_content: <nudny-bezsensowny-wst?p>
  140. Ostatnio my?l? o wyje?dzie za granic? w poszukiwaniu pracy odpowiadaj?cej moim umiej?tno?ciom.
  141.  
  142. Oferty pracy w Polsce z mojej brochy to generalnie praca na platformie Java, tyle ?e polska specjalno?? to stronienie od ambitnych podej?? do problemu oraz beznadziejna rekrutacja, przynajmniej patrz?c po ofertach pracy. Przez to nie wykorzystuje si? potencja?u programist▒w. Typowa polska oferta pracy nie zawiera wide?ek p?acowych, a je?li zawiera to co? w stylu 10 PLN - 100k PLN, czyli to ?miech w ?ywe oczy. Ponadto typowe pieprzenie o m?odym, dynamicznym zespole, super g?stej atmosferze, darmowych schabowych, s?u?bowych kondomach itp W wymaganiach zwykle 10 framework▒w i 5 lat do?wiadczenia w ka?dym z nich, po czym i tak si? oka?e, ?e pewnie wykorzystywa? si? b?dzie ze dwa i to w mocno szablonowy (nie wymagaj?cy polotu) spos▒b.
  143.  
  144. Z drugiej strony oferty na Zachodzie s? takie jak by? powinny. Dla przyk?adu: http://www.nicollcurtin.com/jobs/1993/JavaScala-Developer--Investment-Banking/ albo generalnie chyba wi?kszo?? z dowolnej por▒wnywarki, np: http://www.indeed.co.uk/jobs?q=scala+developer&l= Nie ma pieprzenia o atmosferze, poniewa? kiepska atmosfera czy og▒lnie g▒wniane podej?cie do prowadzenia firmy oznacza?oby jej kl?sk?, wi?c nie ma sensu opisywa? oczywistych rzeczy. Z drugiej strony podane s? do?? precyzyjnie wide?ki p?acowe oraz opis obowi?zk▒w. Nie ma w wymaganiach listy framework▒w, bo i tak w miar? potrzeby mo?na si? ich nauczy?.
  145. </nudny-bezsensowny-wst?p>
  146.  
  147. Problemem jest dla mnie bariera j?zykowa, czyli przede wszystkim angielski m▒wiony (i oczywi?cie rozumiany ze s?uchu). O ile robot? na zmywaku mo?na dosta? bez jakiejkolwiek znajomo?ci j?zyka, to jednak do firm programistycznych na Zachodzie nie przyjmuj? ludzi z ulicy.
  148.  
  149. W Google ludzie odpadaj? w procesie rekrutacyjnym je?li nie znaj? dobrze angielskiego, a w docelowym miejscu pracy angielski jest podstawowym j?zykiem komunikacyjnym. Nawet je?eli kandydat ma super wiedz?, zar▒wno teoretyczn?, jak i praktyczn?.
  150.  
  151. Interesuje mnie opinia ludzi, kt▒rzy pracuj?/ pracowali na Zachodzie. Jak dobrze trzeba zna? angielski, aby mie? otwart? drog? do dowolnej posady jako programista (zak?adaj?c oczywi?cie, ?e tylko j?zyk jest potencjalnym problemem)?
  152.  
  153. Obecnie np. ze s?uchu do?? kiepsko rozumiem, filmy/ seriale ogl?dam co najmniej z angielskimi napisami. Jako ?e certyfikaty czy poziomy mi niewiele m▒wi?, bardziej zale?a?oby mi na metryce typu stopie? zrozumienia angielskich/ ameryka?skich film▒w, audycji, konferencji, itp
  154.  
  155. O, i jeszcze jedna sprawa w?a?nie wysz?a: jak du?a jest r▒?nica mi?dzy angielskim, a ameryka?skim akcentem? Czy je?li np dobrze rozumia?bym ameryka?skie filmy ze s?uchu to bez problemu dogada?bym si? z Angolem?
  156. from_unixtime(post_time): 2011-10-04 21:16:27
  157. *************************** 45. row ***************************
  158. post_id: 782651
  159. text_content: Chcia?bym popr▒bowa? swoich si? w budowaniu mikroprocesor▒w. Na studiach mia?em jeden semestr z OAK (czyli Organizacja i Architektura Komputer▒w), ale materia? by? kr▒tki i nie omawiano w nim ?adnych nowo?ci.
  160.  
  161. Znacie polecacie jakie? og▒lnodost?pne materia?y, najlepiej aby by?y przyk?ady w np Verilogu czy VHDL, omawiaj?ce nie tylko sam j?zyk, ale te? ca?e (mikro)architektury, r▒?nice w metodologiach, etc Nawet troch? "beletrystyki" by si? przyda?o.
  162.  
  163. Jak wygl?da nauczanie projektowania mikroprocesor▒w na uczelniach technicznych? Na WMiI UJ nie ma praktycznie nic, mo?e na jakim? wydziale AGH-u co? by by?o? Interesuje mnie opinia kogo?, kto si? tego uczy? albo si? tym zajmuje.
  164.  
  165. Jak to wszystko wygl?da w polskich realiach? Wiadomo, w Ameryce, Japonii, Chinach, etc s? firmy, kt▒re produkuj? i projektuj? scalaki, ale w Polsce to co? s?abo, bo ja przynajmniej nie znam jakich? konkretnych polskich firm projektuj?cych scalaki cyfrowe.
  166. from_unixtime(post_time): 2011-10-17 16:33:53
  167. *************************** 46. row ***************************
  168. post_id: 788055
  169. text_content: Niekt▒rzy tutaj argumentowali, ?e Palikot wprowadzi model biznesowy rz?dzenia (pomijaj?c jednocze?nie sam fakt, ?e ?adna firma nie zwi?zana z rz?dem nie jest demokratyczna), usprawni to i tamto, etc
  170.  
  171. Czy mo?na jednak liczy? na Palikota? Jest to cz?owiek, kt▒ry zmienia pogl?dy jak r?kawiczki i uwielbia by? w centrum zainteresowania. Od stycznia 2011 motorem partii Palikota jest chyba Tymochowicz, a nie sam Palikot. A kim jest Tymochowicz? Na stronie http://wiadomosci.wp.pl/kat,29674,wid,8235199,wiadomosc.html?ticaid=1d532 jest wywiad z nim, a w ?rodku np takie stwierdzenie: <quote> ?yciowe motto: nie mie? sta?ego motta - bo zmienno?? to kreatywno??, a sta?o?? ▒ t?pota</quote>Tymochowicz nie ma ?adnej ideologii, to chyba "dobrze" jak na speca od manipulacji lud?mi.
  172.  
  173. Przejd?my jednak do samego Palikota.
  174.  
  175. Mo?na o nim przeczyta? np takie wypowiedzi:
  176. <quote>najpierw by? wielkim katolikiem wydaj?cym katolickie pismo Ozon, zaanga?owa? si? w akcj? ▒Zakaz peda?owania▒ przeciw homosiom, syna chwali? i og?asza? wszem i wobec jaki z niego dumny, ?e odm▒wi? palenia mary?ki, kt▒r? zaproponowali mu koledzy, a teraz? zmiana ?wiatopogl?du o 180 stopni w ci?gu roku z hakiem i to w wieku 50 lat, teraz jeste?my ateist? i zagorza?ym przeciwnikiem Ko?cio?a, uwa?amy, ?e ▒it▒s ok to be gay▒ i zwi?zki partnerskie plus adopcje ▒ czemu nie, a zio?o to wspania?a forma wypoczynku i trzeba j? sadzi? na ka?dym skwerku. Dziwne, ?e facet akurat przez kampani? zmieni? pogl?dy na te najbardziej dzi? modne i zagwarantowane poparciem i poklaskiem zbuntowanej, nie?yciowej zreszt?, m?odzie?y▒</quote><quote>palikot nigdy nie pok?▒ci? si? z PO tak jak wam si? wmawia, to jest jedna klika znaj?ca si? od lat i pij?ca t? sam? butelk? w▒dki, palikot zna polityk? od kuchni i jest zbyt inteligentny, by ▒da? si? oszuka?▒ tuskowi, jak to t?umaczy. jako? gdy PO niby ▒odrzuca?a▒ projekty jego Przyjaznego Pa?stwa, nawet raz nie oprotestowa? tego w mediach, a w kampanii wielce czyni? wyrzuty tuskowi, gdy oskar?ano go o lenistwo i brak inicjatywy jako szefa tej komisji.</quote><quote>"Janusz Palikot nie ma ?adnych pogl?d▒w politycznych. Znam go od 20 lat i to wiem. Odnalaz?by si? w ka?dej partii w zale?no?ci od potrzeby. On prowadzi polityk? nowego typu, tak?, kt▒rej kierunki wyznaczaj? oczekiwania wyborc▒w i sonda?e. By? ju? ateist?, cz?owiekiem zwi?zanym z Ko?cio?em, inne pogl?dy te? ma ca?kowicie elastyczne." To powiedzia?a jego by?a ?ona.</quote>
  177.  
  178.  
  179. Palikot nieustannie kombinuje jak by tu wyprowadzi? pieni?dze z Polski. Albo jak zrobi? jaki? przekr?t, np ten o domniemanym kupieniu Polmosu za pieni?dze samego Polmosu, dzi?ki skomplikowanym machinacjom finansowym. Ponadto jego by?a ?ona s?dzi si? z nim o podzia? maj?tku:
  180. http://www.se.pl/wydarzenia/kraj/byla-zona-janusza-palikota-maria-nowinska-palikot_133155.html
  181. http://www.se.pl/wydarzenia/kraj/maria-nowinska-wreszcie-wzieli-sie-za-palikota_195704.html
  182. http://www.dziennikwschodni.pl/apps/pbcs.dll/article?AID=/20080109/LUBLIN/128471023
  183. http://iskry.pl/index.php?option=com_content&task=view&id=5153&Itemid=3
  184.  
  185.  
  186. Nie ma w tym po?cie niestety jakich? mocnych ?r▒de? (Palikot nie jest w ciemi? bity i skutecznie ukrywa prawd? o sobie), ale mo?na odnie?? wra?enie, ?e Palikot ju? nied?ugo pogubi si? w tym co m▒wi. Jak na razie ?yje nienawi?ci? do Kaczora, ciekawe o czym b?dzie rozmawia?, gdy Kaczor zejdzie na dalszy plan na scenie politycznej? Ach, no dobra, zapomnia?em przecie?, b?dzie kierowa? si? tym co jest modne!
  187. from_unixtime(post_time): 2011-11-05 01:39:50
  188. *************************** 47. row ***************************
  189. post_id: 788171
  190. text_content: Jak w temacie. Przyda?oby si?. Nerdowskie spojrzenie na polityk?.
  191. from_unixtime(post_time): 2011-11-05 15:42:34
  192. *************************** 48. row ***************************
  193. post_id: 788312
  194. text_content: Sytuacja ekonomiczna w Szwecji:
  195. http://liberalis.pl/2007/03/11/artur-stepkowski-szwecja-%E2%80%93-cud-socjalizmu-czy-rownia-pochyla/
  196. http://www.wprost.pl/ar/47151/Pieklo-w-raju/?I=1079
  197.  
  198. Absurdy poprawno?ci politycznej (tl;dr):
  199. http://wyborcza.pl/1,97738,6096200,Rzecznik_obrazonych___szwedzki_eksperyment.html
  200. http://natablicy.pl/zakaz-rozrozniania-plci-w-szwedzkim-przedszkolu,artykul.html?material_id=4e097b1e16f1da4841010000
  201.  
  202. Mutli kulti kaput (tl;dr):
  203. http://www.wykop.pl/ramka/4475/szwecja-mroczna-strona-raju/
  204. from_unixtime(post_time): 2011-11-05 23:45:17
  205. *************************** 49. row ***************************
  206. post_id: 788882
  207. text_content: Dieta polegaj?ca na wyeliminowaniu pszenicy i wielu innych ziaren i ograniczeniu cukr▒w.
  208.  
  209. http://www.wheatbellyblog.com/
  210. http://nowadebata.pl/2011/10/13/buszujacy-w-pszenicy/
  211. http://www.proteinpower.com/drmike/saturated-fat/wheat-belly/
  212. from_unixtime(post_time): 2011-11-08 02:51:07
  213. *************************** 50. row ***************************
  214. post_id: 794803
  215. text_content: Dost?p do Internetu mam teraz poprzez wymieniony w temacie router - dok?adnie to poprzez Wi-Fi, ale to raczej nie robi r▒?nicy przez co. Problemem jest to, ?e je?eli np w??cz? ?adowanie filmu na YouTube to dop▒ki si? film nie za?aduje to ??cze jest praktycznie ca?kowicie wysycone przez ten strumie? i je?eli chc? przegl?da? w tym czasie inne strony to zwykle dostaj? przekroczenie czasu po??czenia (tzn nic si? nie pokazuje). Inni korzystaj?cy z tego ??cza co ja (chyba Orange Freedom) te? maj? totalnie zamulonego neta w czasie gdy ?aduje mi si? film na YouTube.
  216.  
  217. Jak skonfigurowa? router tak, aby d?ugie wysycaj?ce transfery nie blokowa?y zupe?nie innych transfer▒w?
  218. from_unixtime(post_time): 2011-11-28 00:12:57
  219. *************************** 51. row ***************************
  220. post_id: 795896
  221. text_content: Cz??? ludzi, w tym ja, przewidywa?o kryzys od dawna. Niekt▒rzy mieli w?asne analizy, inni (jak ja) powtarzali to co m▒wi?y te analizy. Rz?dy prawie wszystkich kraj▒w nale??cych do UE jednak nie dopuszczaj? my?li o rozpadzie strefy euro (Brytyjczycy oficjalnie dopuszczaj?, ale oni maj? w?asnego funta i do?? siln? gospodark?). Unijna propaganda m▒wi o ?wietnych zabezpieczeniach przed kryzysem i jak wida? mot?och ulega tej propagandzie.
  222. Jakie jest wasze zdanie o tym?
  223. from_unixtime(post_time): 2011-12-01 18:40:47
  224. *************************** 52. row ***************************
  225. post_id: 799352
  226. text_content: Poczyta?em artyku? Marka Nelsona o algorytmie Ukkonena budowania drzew sufiksowych: http://marknelson.us/1996/08/01/suffix-trees/
  227.  
  228. Nelson u?ywa jednego inta na w?ze? plus 4 inty na kraw?d?. Kraw?dzi jest mniej wi?cej tyle samo co w?z?▒w, dok?adniej to ka?dy w?ze? opr▒cz korzenia ma swoj? w?asn? kraw?d? wchodz?c?, wi?c w?z?▒w jest o jeden wi?cej ni? kraw?dzi. Mo?na wi?c przyj??, ?e u Nelsona mamy 5 intow = 20 bajt▒w na w?ze?. Po dodaniu indeksu rodzica (potrzebne chyba do implementacji przesuwnego drzewa sufiksowego: http://larsson.dogma.net/research.html kt▒re chcia?bym p▒?niej zaimplementowa?) wychodzi 6 int▒w czyli 24 bajty na w?ze?.
  229.  
  230. Mam pomys?, nieco trikowy, jak by zmniejszy? lekko to zapotrzebowanie.
  231.  
  232. Format w?z?a by?by taki (reprezentacja drzewa typu left child - right sibling):
  233. 4 bajty - indeks nast?pnego (w kolejno?ci u?ycia) brata
  234. 4 bajty - indeks pierwszego syna
  235. 4 bajty - indeks rodzica (to oczywi?cie brakuje u Nelsona i u niego te? trzeba doda?)
  236. 4 bajty - indeks w?z?a z sufiksem
  237. 4 bajty - indeks pierwszego znaku z kraw?dzi wchodz?cej
  238.  
  239. Jak obliczy? indeks ostatniego znaku z kraw?dzi wchodz?cej?
  240. 1. Je?eli jeste?my w li?ciu (tzn nie ma syn▒w) to z w?asno?ci algorytmu Ukkonena kraw?d? rozci?ga si? do ostatniego znaku z ci?gu wej?ciowego.
  241. 2. Je?eli jeste?my w w??le wewn?trznym to sprawa si? komplikuje. Co mo?emy zrobi?? Po pierwsze wska?nik na syna powinien wskazywa? na syna kt▒ry by? ostatnio dopasowany. Po drugie przy ka?dorazowym przej?ciu po danej kraw?dzi uaktualniamy jej zakres znak▒w na ten ostatnio odwiedzony (tzn je?eli w ci?gu wej?ciowym podci?g SS pojawia si? wiele razy, to w w??le pami?tamy pocz?tek ostatniego takiego wyst?pienia). Gdy to spe?nimy to indeks pierwszego znaku z kraw?dzi wchodz?cej pierwszego syna b?dzie wyst?powa? natychmiast po ostatnim znaku kraw?dzi wchodz?cej aktualnego w?z?a.
  242. 3. W trakcie dzia?ania algorytmu Ukkonena czasem przechodzimy do w?z?a z sufiksem. W takim przypadku, je?eli ten sufiks jest pierwszym dzieckiem (swojego rodzica) to musimy zaktualizowa? indeks kraw?dzi w tym rodzicu. Podobnie, je?eli ▒w rodzic jest pierwszym dzieckiem, to odpalamy t? procedur? rekurencyjnie. Ta rekurencja mo?e popsu? z?o?ono?? liniow?, nie zastanawia?em si? jeszcze nad tym mocno. Ka?dy wewn?trzny w?ze? ma co najmniej dw▒ch syn▒w. Mo?na oczekiwa?, ?e po przej?ciu do sufiksa, ten sufiks nie b?dzie pierwszym synem z co najmniej sta?ym prawdopodobie?stwem. Wtedy ilo?? uaktualnianych przodk▒w tak?e by?aby sta?a, a wi?c z?o?ono?? by?aby zachowana.
  243.  
  244.  
  245. Co my?licie o takiej reprezentacji? Widzicie jakie? kolejne problemy z ni? zwi?zane? A mo?e znacie jakie? lepsze, tzn bardziej zwi?z?e, ale r▒wnie szybkie, albo prostsze, ale r▒wnie zwi?z?e i szybkie?
  246.  
  247.  
  248. Posta wys?a?em r▒wnie? w wersji angielskiej na: http://encode.ru/threads/1429-Suffix-Tree-s-internal-representation . Nieco inaczej tam temat opisa?em, jak kto? chce to mo?e por▒wna?.
  249. from_unixtime(post_time): 2011-12-11 00:47:18
  250. *************************** 53. row ***************************
  251. post_id: 801931
  252. text_content: Prosz? o teorie spiskowe :)
  253. from_unixtime(post_time): 2011-12-19 17:04:48
  254. *************************** 54. row ***************************
  255. post_id: 806984
  256. text_content: Na forum jest przede wszystkim miljon temat▒w typu: Jak zacz??? Jaki j?zyk programowania wybra?? Jak? szko?? wybra?? Jakie frameworki wybra?? Wyszuanie ich jest banalne, ale nie trywialne. Dlatego mn▒stwo user▒w zak?ada nowe.
  257.  
  258. Polecam wi?c stworzy? dzia? Co wybra?? z poddzia?ami typu J?zyk programowania, Szko?a, Framework, Jak zacz??. W ka?dym mo?na przyklei? specjalne tematy np opisuj?ce wybrane j?zyki, frameworki, szko?y, etc, tematy por▒wnuj?ce, listuj?ce, etc
  259. from_unixtime(post_time): 2012-01-06 17:35:16
  260. *************************** 55. row ***************************
  261. post_id: 807005
  262. text_content: Ubunciak mi si? ostatnio nieco rozlecia? i siedz? na W7 teraz. Nie bootuje si?, nawet tryb recovery nie ?aduje si?, pojawia si? tylko BusyBox, kt▒ry jest strasznie okrojony i nawet fsck tam chyba nie ma. Jak sobie poradzi? bez LiveCD/ LivePendrive (bo pendrive'a chwilowo nie mam, a nap?du optycznego w netbooku nie mam)?
  263. from_unixtime(post_time): 2012-01-06 18:35:59
  264. *************************** 56. row ***************************
  265. post_id: 810555
  266. text_content: 1. Mam (tzn zarz?dzam baz?) dw▒ch u?ytkownik▒w w bazie Oracle (chyba 11gR2). Jeden, nazwijmy go ROOT ma wszelakie prawa, a drugi USER ma tylko te, kt▒re s? mu niezb?dne (tzn USER jest jak?? tam aplikacj?). Chc?, ?eby USER m▒g? si? odwo?ywa? do tabel ROOTa tak jak do swoich, tzn bez prefiksu "ROOT." M▒g?bym r?cznie wyklika? kilkaset synonim▒w w SQLDeveloperze, ale to by by?o chore. Ma kto? pomys? jak to zrobi??
  267.  
  268. 2. Czy SQLDeveloper pozwala odpala? PL/SQL z palca?
  269.  
  270. 3. Moim aktualnym pomys?em jest co? w rodzaju:
  271. <code>
  272. for table_name in (select table_name from user_tables) loop
  273. create synonym USER.table_name (tu nie wiem jak zrobi?, ?eby potraktowa? to jako zmienn?, a nie litera?) for table_name (tu tak samo);
  274. end loop;
  275. </code>
  276. Ale takie co? nijak mi nie chce dzia?a?.
  277. from_unixtime(post_time): 2012-01-17 10:06:26
  278. *************************** 57. row ***************************
  279. post_id: 812983
  280. text_content: Jak w temacie. Denerwuj? mnie czasem stopki. Niech?e to si? jako? chowa.
  281. from_unixtime(post_time): 2012-01-24 14:16:06
  282. *************************** 58. row ***************************
  283. post_id: 815553
  284. text_content: 1. Mam LG W2252TQ-PF. Chcia?bym go skalibrowa?, a nie mam kalibratora. Czym to zrobi?, tzn kt▒rym programem?
  285.  
  286. 2. W kt▒rych miejscach w Ubuntu i Windowsie 7 jest konfiguracja kolor▒w/ kontrastu/ itp? Mam wra?enie, ?e w wielu miejscach i ?e te korekcje si? nawzajem nak?adaj?, przez co jest to trudne do ogarni?cia. Mam kart? grafiki Radeon ze ?wie?ymi sterami.
  287.  
  288. 3. Zale?a?oby mi na tym, ?eby po kalibracji obraz wygl?da? tak samo na Ubuntu jak i na Windows 7.
  289.  
  290. Jakie? pomys?y?
  291. from_unixtime(post_time): 2012-02-01 22:31:43
  292. *************************** 59. row ***************************
  293. post_id: 818400
  294. text_content: W?tek mierz?cy ob?ud? pluj?cych jadem ateist▒w.
  295.  
  296. Ponadto:
  297. <quote=Wikipedia>Apostazja nie powoduje formalnego opuszczenia Ko?cio?a. Apostata zgodnie z doktryn? Ko?cio?a Katolickiego wci?? pozostaje jego cz?onkiem oraz katolikiem, gdy? decyduj?cy o tym chrzest jest nieusuwalny w my?l zasady ▒Semel catholicus, semper catholicus▒ (▒Raz katolik, zawsze katolik▒). Apostazja odnotowywana jest w ksi?gach parafialnych, jednak informacja o chrzcie nie jest z nich usuwana.</quote>
  298. Formalnie nale?enie do KK oznacza tylko fakt wcze?niejszego chrztu i nic wi?cej. Nie ma ?adnego zwi?zku ze stanem umys?owym danego cz?owieka. O sta?ych antychrze?cija?skich pogl?dach ?wiadczy? mo?e natomiast brak chrztu u doros?ego cz?owieka.
  299. from_unixtime(post_time): 2012-02-11 18:25:39
  300. *************************** 60. row ***************************
  301. post_id: 820071
  302. text_content: Czy komu? to dzia?a? www youtube com/comment_search?username=cokolwiek zawsze daje komunikat, ?e nic nie znaleziono.
  303. from_unixtime(post_time): 2012-02-16 21:43:46
  304. *************************** 61. row ***************************
  305. post_id: 823967
  306. text_content: Czy da si? np odpali? naraz kilka Hibernat▒w (np w r▒?nych wersjach) na jednej bazie? Tzn dok?adnie: czy nie b?d? si? przez to wypieprza? lub ?le dzia?a??
  307. from_unixtime(post_time): 2012-03-01 11:15:43
  308. *************************** 62. row ***************************
  309. post_id: 824210
  310. text_content: Nie przewidzia?em jednak, ?e pojawi si? inicjatywa od naukowc▒w (a mo?e to pseudo-naukowcy?):
  311. http://wiadomosci.gazeta.pl/wiadomosci/1,114881,11268597,Aborcja_po_urodzeniu___szokujacy_pomysl_naukowcow.html
  312. from_unixtime(post_time): 2012-03-01 22:56:27
  313. *************************** 63. row ***************************
  314. post_id: 824787
  315. text_content: OpenStreetMap jest na licencji CC-BY-SA 2.0 http://creativecommons.org/licenses/by-sa/2.0/
  316.  
  317. Czy mo?na np ?ci?gn?? dane z OSM na serwer, a potem stworzy? program (np aplikacj? webow?) kt▒ry je wykorzystuje, jest p?atny i zamkni?ty i zarabia? na nim?
  318.  
  319. Z tego co zrozumia?em z licencji to na pewno je?eli dokona si? zmian w samej mapie to trzeba te zmiany opublikowa?. Natomiast nie jestem pewien w?a?nie co do u?ytku tych danych w programie komercyjnym oraz, co si? z tym wi??e, przetwarzania tych danych w r▒?noraki spos▒b i tworzenie zamkni?tych i w?asno?ciowych program▒w przetwarzaj?cych.
  320. from_unixtime(post_time): 2012-03-03 20:45:44
  321. *************************** 64. row ***************************
  322. post_id: 832051
  323. text_content: Mam projekt w Mavenie. Generalna struktura jest taka:
  324. - common,
  325. - javame, kt▒ry korzysta z common,
  326. - android-parent, kt▒ry korzysta z common,
  327. - android/android, kt▒ry dziedziczy z android-parent,
  328. - android/android-it (instrumentation tests), kt▒ry dziedziczy z android-parent,
  329.  
  330. Problem jest taki, ?e Eclipse nie widzi mi w module android-it klas z modu?u android. A dok?adniej to w HelloAndroidActivityTest nie widzi mi klasy HelloAndroidActivity. Ma kto? pomys? jak to rozwi?za?? Za??czam spakowany projekt z wyci?tymi klasami z common, nie powinno mie? to znaczenia w tym problemie.
  331.  
  332. I pytanie dodatkowe: jako korzystacie z Mavena w IDE, w szczeg▒lno?ci w Eclipse? Jakich wtyczek u?ywacie? Z tego co wiem s? 3 opcje:
  333. - maven-eclipse-plugin + konfiguracja projektu za pomoc? polecenia mvn,
  334. - m2eclipse,
  335. - q4eclipse czy co? takiego, ale to jest podobno kiepskie;
  336.  
  337. Aktualnie chodzi mi o jakie? rozwi?zanie, kt▒re dobrze integruje Mavena, Eclipse, Jav?ME i Androida, tzn ?ebym m▒g? kompilowa? projekty zar▒wno poprzez polecenie mvn jak i automatycznie Eclipsem i ?ebym m▒g? odpala? testy i MIDlety/ Activity zar▒wno z linii komend jak i z poziomu Eclipse.
  338. from_unixtime(post_time): 2012-03-29 15:09:44
  339. *************************** 65. row ***************************
  340. post_id: 833123
  341. text_content: Jest opcja do wy??czania sygnaturek w postach, ale przyda?aby si? te? opcja na pokazywanie sygnaturek w profilach. Aktualnie wy??czy?em w?a?nie pokazywanie sygnaturek w postach i nie da si? zobaczy? bez zmiany tego ustawienia lub wylogowania. Poza tym je?li kto? pisze du?o komentarzy, a ma?o post▒w, to te? jest dyskryminowany :]
  342. from_unixtime(post_time): 2012-04-01 18:14:27
  343. *************************** 66. row ***************************
  344. post_id: 833927
  345. text_content: Jak w temacie. Co zrobi? gdy chc? cofn?? +1, ale nie chc? da? -1?
  346. from_unixtime(post_time): 2012-04-04 09:57:48
  347. *************************** 67. row ***************************
  348. post_id: 836294
  349. text_content: Courtney Love does the math: http://www.salon.com/2000/06/14/love_7/singleton/
  350. The Promo Bay: http://www.ibtimes.com/articles/324682/20120405/pirate-bay-promotion-promo-artists-riaa-mpaa.htm
  351. from_unixtime(post_time): 2012-04-12 15:58:55
  352. *************************** 68. row ***************************
  353. post_id: 836476
  354. text_content: Generalnie z tego co do tej pory wiem klient CVSa w Eclipse umo?liwia tylko robienie modu?▒w (projekt▒w) w katalogu g?▒wnym i nie pozwala na po prostu stworzenie podkatalogu (albo mo?e ja nie mam praw do tego?), aby wrzuca? tam podprojekty.
  355.  
  356. Generalnie to co chcia?bym osi?gn?? to (dalej m?cz? bileterk?):
  357. repo:
  358. - CVSROOT
  359. - jakie? inne projekty
  360. - m▒j projekt - bileterka
  361. -- parent
  362. -- javame
  363. -- common
  364. -- android-parent
  365. -- android
  366. -- android-it
  367.  
  368.  
  369. Struktur? chyba p?ask? musz? zostawi? bo szef upiera si? przy Eclipse.
  370.  
  371. Da si? w og▒le stworzy? hierarchiczn? struktur? dla Mavena z poziomu eclipse?
  372.  
  373. Ponadto w Eclipsie nie wida? projekt▒w typu parent, czyli tych z packaging=pom. Jak je zacommitowa? w takim razie?
  374. from_unixtime(post_time): 2012-04-13 11:19:05
  375. *************************** 69. row ***************************
  376. post_id: 837658
  377. text_content: Poleci kto? co? do wykrycia w czym by? napisany dany program? Jak na razie znam:
  378. - PEiD: http://www.peid.info/ - nieuaktualniany
  379. - ExEinfo PE: http://www.exeinfo.xwp.pl/
  380. from_unixtime(post_time): 2012-04-17 10:31:55
  381. *************************** 70. row ***************************
  382. post_id: 840419
  383. text_content: Zastanawiam si? czy w programach wymienionych w temacie s? zastosowane jakie? nietrywialne algorytmy. Linki do producent▒w:
  384. - http://www.info.rozklad.com/
  385. - http://www.agc.pl/
  386. Niby na stronie BusMana jest opis modu?▒w, kt▒re maj? korzysta? z takich nietrywialnych algorytm▒w:
  387. - http://www.agc.pl/agc_rozk.php
  388. - http://www.agc.pl/agc_sync.php
  389. Jednak z tak szcz?tkowych informacji nie da si? wywnioskowa? czy te algorytmy s? skomplikowane czy te? mo?e to jakie? proste heurezy.
  390.  
  391. Zna kto? te programy w jakimkolwiek stopniu, albo czy jest w stanie oszacowa? z?o?ono?? (tzn stopie? skomplikowania) tych algorytm▒w?
  392. from_unixtime(post_time): 2012-04-26 16:27:26
  393. *************************** 71. row ***************************
  394. post_id: 840426
  395. text_content: http://www.comarch.pl/kariera/praca-w-kraju/informatyczne/programista-scala
  396.  
  397. Czy kto? tam pracuje i czy patrz? tam na r?ce mocno (chodzi mi o np tzw mikrozarz?dzanie).
  398.  
  399. (Jak z?y dzia? to przenie?cie)
  400. from_unixtime(post_time): 2012-04-26 16:52:23
  401. *************************** 72. row ***************************
  402. post_id: 843835
  403. text_content: Pojawia mi si? to cz?sto jak chc? napisa? komentarz, post czy temat. Nie da si? z tym nic zrobi?? Wcina mi posty czasami, a to jest frustruj?ce. Mam Chromium na Ubuntu.
  404. from_unixtime(post_time): 2012-05-07 22:44:45
  405. *************************** 73. row ***************************
  406. post_id: 844797
  407. text_content: Mam ZTE Blade II, konkretnie to zbrandowany na Red Bull MOBILE One.
  408.  
  409. Chc? go zrootowa? i wgra? mu CyanogenMod, ale w og▒le adb mi go nie wykrywa.
  410.  
  411. lsusb pokazuje:
  412. <code>Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  413. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  414. Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  415. Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  416. Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  417. Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  418. Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  419. Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  420. Bus 002 Device 004: ID 0cf3:1006 Atheros Communications, Inc. TP-Link TL-WN322G v3 / TL-WN422G v2 802.11g [Atheros AR9271]
  421. Bus 006 Device 002: ID 09da:0080 A4 Tech Co., Ltd
  422. Bus 006 Device 003: ID 045e:00dd Microsoft Corp. Comfort Curve Keyboard 2000 V1.0
  423. Bus 001 Device 017: ID 19d2:1350 ZTE WCDMA Technologies MSM </code>
  424. mtp-detect pokazuje:
  425. <code>libmtp version: 1.1.3
  426.  
  427. Listing raw device(s)
  428. No raw devices found.</code>
  429. adb devices pokazuje:
  430. <code>List of devices attached
  431. ???????????? no permissions</code>
  432.  
  433. Pr▒bowa?em wcze?niej na Windows 7, a teraz na Ubuntu i ci?gle nie udaje mi si? do niego pod??czy?.
  434. from_unixtime(post_time): 2012-05-10 19:43:40
  435. *************************** 74. row ***************************
  436. post_id: 849183
  437. text_content: Chc? napisa? program w Scali, a jego cz??ci? ma by? np generator danych z kodu podanego w jakim? TextArea - og▒lnie chodzi mi o kompilacj? kodu w locie, potem jego wykonania, pobrania instancji jakiej? ustalonej klasy generuj?cej dane i odpytywaniem jej o kolejne dane.
  438.  
  439. Problemem jest zrobienie tej funkcjonalno?ci (czyli osadzenie kompilatora w projekcie) tak, aby kompilacja przebiega?a bezproblemowo zar▒wno je?li odpal? program spod FSC (czy tam scalac) jak i pod SBT komend? 'run'.
  440.  
  441. Pr▒bowa?em na kilka sposob▒w, tzn wkleja?em skrawki kodu znalezione w blogach na necie, ale problem dalej nierozwi?zany. Aktualnie kompilacja przebiega pomy?lnie je?li odpal? program spod FSC (wzgl?dnie scalac te? pewnie by zadzia?a?), ale komend? 'sbt run' ju? nie zadzia?a.
  442.  
  443. Z tego co wyczyta?em np na https://github.com/harrah/xsbt/wiki/FAQ (dzia? How do I use the Scala interpreter in my code?) problem le?y w classloaderach, ale nie jestem specem od classloader▒w i nied?ugo sza?u chyba od nich dostan?.
  444.  
  445. Jak na razie projekt sk?ada si? z dw▒ch plik▒w:
  446. - definicja kompilacji: lemontree-testbed/project/LemonTreeTestbedBuild.scala - http://4programmers.net/Pastebin/1762
  447. - plik ?r▒d?owy: lemontree-testbed/src/main/scala/com/github/tarsa/lemontree/LemonTreeTestbed.scala - http://4programmers.net/Pastebin/1763
  448.  
  449. W obecnej postaci, przy odpalaniu komendy 'sbt run' wy?wietlany jest nast?puj?cy komunikat:
  450. <code>[error] (run-main) scala.tools.nsc.FatalError: object List does not have a member apply</code>
  451. w momencie kompilacji, tzn linijka 55. kodu ?r▒d?owego.
  452.  
  453. Ma kto? pomys? jak to ogarn???
  454. from_unixtime(post_time): 2012-05-25 22:58:35
  455. *************************** 75. row ***************************
  456. post_id: 849414
  457. text_content: Pasuje za?o?y? jaki? w?tek z mniej lub bardziej bezsensownymi rankingami szk▒?.
  458.  
  459. Na pocz?tek: http://www.sfora.pl/Oto-najlepsza-uczelnia-w-Polsce-Tu-najlepiej-studiowac-a43442
  460. from_unixtime(post_time): 2012-05-26 20:17:24
  461. *************************** 76. row ***************************
  462. post_id: 852598
  463. text_content: Chcia?bym sprawdzi? czy m▒j odbiornik GPS w telefonie w og▒le dzia?a. Zna si? kto? na flakach Androida/ CyanogenModa? Mam zrootowany telefon wi?c mo?e da si? jaki? plik podmieni?, ?eby telefon zacz?? np robi? logi z pe?n? komunikacj? z odbiornikiem.
  464. from_unixtime(post_time): 2012-06-06 10:14:16
  465. *************************** 77. row ***************************
  466. post_id: 852744
  467. text_content: Mam wra?enie, ?e w?amy na nawet spore serwisy si? coraz cz??ciej zdarzaj?. ZTCP to 4p niedawno zaliczy?o wpadk? :P a teraz np LinkedIn, kt▒ry jest niby dla 'profesjonalist▒w': http://niebezpiecznik.pl/post/wyciek-6-5-miliona-hashy-hasel-z-linkedin/
  468.  
  469. Co chwil? wyciekaj? jakie? has?a z jakiego? serwisu i trzeba te has?a zmienia?, jak r▒wnie? pasuje generowa? osobne has?o do ka?dego serwisu. Maj?c wiele r▒?nych hase? nie idzie ich spami?ta?, a wi?c trzeba gdzie? zbiorczo zapisa? w jakim? zasobie (pliku zawieraj?cego np baz? danych). A co je?li ten zas▒b nam wycieknie? Zwykle stosuje si? wi?c has?o g?▒wne i/ lub dane jako klucz. A co je?li zapomnimy g?▒wnego has?a albo zgubimy dane klucz, lub no?nik na kt▒rym jest ten klucz si? zepsuje?
  470.  
  471. Napiszcie jakie macie sposoby na przechowywanie hase? i z jakich program▒w do zarz?dzania has?ami korzystacie.
  472. from_unixtime(post_time): 2012-06-06 21:19:00
  473. *************************** 78. row ***************************
  474. post_id: 853198
  475. text_content: Specyfikacje API JavySE:
  476. * <a href="http://docs.oracle.com/javase/1.3/docs/api/">JavaSE 3</a>
  477. * <a href="http://docs.oracle.com/javase/1.4.2/docs/api/">JavaSE 4</a>
  478. * <a href="http://docs.oracle.com/javase/1.5.0/docs/api/">JavaSE 5</a>
  479. * <a href="http://docs.oracle.com/javase/6/docs/api/">JavaSE 6</a>
  480. * <a href="http://docs.oracle.com/javase/7/docs/api/">JavaSE 7</a>
  481.  
  482. Tutoriale do JavySE:
  483. * <a href="http://docs.oracle.com/javase/tutorial/">The JavaTM Tutorials</a>
  484.  
  485. JavaFX 2:
  486. * <a href="http://docs.oracle.com/javafx/2/api/index.html">Specyfikacja API</a>
  487. * <a href="http://docs.oracle.com/javafx/">Dokumentacja</a>
  488.  
  489. Specyfikacje API JavyEE:
  490. * <a href="http://docs.oracle.com/javaee/1.2.1/api/">JavaEE 2</a>
  491. * <a href="http://docs.oracle.com/javaee/1.3/api/">JavaEE 3</a>
  492. * <a href="http://docs.oracle.com/javaee/1.4/api/">JavaEE 4</a>
  493. * <a href="http://docs.oracle.com/javaee/5/api/">JavaEE 5</a>
  494. * <a href="http://docs.oracle.com/javaee/6/api/">JavaEE 6</a>
  495.  
  496. Tutoriale do JavyEE:
  497. * <a href="http://docs.oracle.com/javaee/1.3/tutorial/doc/">The J2EE Tutorial for the Sun ONE Platform</a>
  498. * <a href="http://docs.oracle.com/javaee/1.4/tutorial/doc/">The J2EE(TM) 1.4 Tutorial</a>
  499. * <a href="http://docs.oracle.com/javaee/5/tutorial/doc/">The Java EE 5 Tutorial</a>
  500. * <a href="http://docs.oracle.com/javaee/6/tutorial/doc/">The Java EE 6 Tutorial</a>
  501.  
  502. Zestaw przyk?ad▒w w Javie:
  503. * <a href="http://www.java2s.com/">www.java2s.com</a>
  504. * <a href="http://rosettacode.org/wiki/Category:Java">Rosetta Code - Category: Java</a>
  505. from_unixtime(post_time): 2012-06-08 12:04:25
  506. *************************** 79. row ***************************
  507. post_id: 853246
  508. text_content: Hostowanie aplikacji w j?zyku Java i j?zykach kompilowanych do Javowego bajtkodu - zasady dzia?ania:
  509.  
  510. Zwykle (?) serwisy hostuj?ce przyjmuj? od razu skompilowane aplikacje (np w plikach WAR) i nie zawieraj? kompilatora Javy. Jednocze?nie popularne j?zyki na platform? Java r▒?ne od j?zyka Java, np Scala, Groovy, Clojure, etc kompiluj? si? do bajtkodu prawie nie r▒?ni?cego si? od tego wygenerowanego z j?zyka Java. Z tego wzgl?du, o ile dany j?zyk nie wymaga jakich? funkcjonalno?ci niedostepnych na danym hostingu, to powinien dzia?a? tak dobrze jak j?zyk Java.
  511.  
  512.  
  513. Chmury obliczeniowe:
  514.  
  515. <a href="https://developers.google.com/appengine/">Google App Engine</a>
  516. Cechy charakterystyczne:
  517. * Mocne ograniczenia, np brak mo?liwo?ci odpalania w?tk▒w, <a href="https://developers.google.com/appengine/docs/java/jrewhitelist">bia?a lista mo?liwych do u?ycia klas z biblioteki standardowej</a>, <a href="http://code.google.com/p/googleappengine/wiki/WillItPlayInJava">przegl?d kompatybilno?ci GAE/J z popularnymi j?zykami i frameworkami</a>
  518. * Niestandardowe API do wi?kszo?ci us?ug
  519. * Wysoce skalowalna baza danych (oparta na BigTable)
  520. * Ma?e instancje JVM generuj?ce odpowiedzi, obecnie serwuj?ce co najwy?ej kilka odpowiedzi jednocze?nie - nale?y zmieni? model aplikacji tak, aby ?adowa?a si? jak najszybciej
  521. * Mo?na przetestowa? za darmo, a darmowe limity s? nawet do?? du?e
  522.  
  523. <a href="http://aws.amazon.com/ec2/">Amazon Elastic Compute Cloud</a>
  524. Cechy charakterystyczne:
  525. * Brak wielu ogranicze? z GAE/J
  526. * Standardowy model serwowania tre?ci - zamiast tworzy? instancje na ??danie, instancje s? mniej wi?cej trwa?e, dzi?ki temu mo?na budowa? aplikacje, kt▒re wolno si? uruchamiaj?, np korzystaj? z Hibernate, JBoss, itp itd
  527. * Mo?na przetestowa? za darmo, a darmowe limity s? nawet do?? du?e
  528.  
  529. <a href="http://www.heroku.com/">Heroku</a>
  530. Cechy charakterystyczne:
  531. * Wiele dost?pnych j?zyk▒w z pe?n? funkcjonalno?ci?
  532. * Brak darmowych opcji
  533.  
  534.  
  535.  
  536.  
  537. Hosting standardowy
  538.  
  539. <a href="http://www.eatj.com/">EATJ</a>
  540. Cechy charakterystyczne:
  541. * Lokalizacja: Kalifornia, USA
  542. * Mo?na przetestowa? za darmo; jest trial, ale bardzo upierdliwy - Tomcat jest wy??czany co 6 godzin i trzeba si? logowa?, by go w??czy?
  543.  
  544.  
  545.  
  546.  
  547. Lista jest kiepska i ma?o wyczerpuj?ca, bo mam niewielkie do?wiadczenie z hostingami. Wszelkie uwagi i sugestie mile widziane.
  548. from_unixtime(post_time): 2012-06-08 15:37:25
  549. *************************** 80. row ***************************
  550. post_id: 857022
  551. text_content: Google niby udost?pni? Google Wave, ale z tego co na szybko przejrza?em, to ?adne demo on-line nie oferuje playbacku, a to jest przecie? g?▒wny ficzer.
  552.  
  553. Znacie co? z podobn? funkcjonalno?ci??
  554. from_unixtime(post_time): 2012-06-21 11:57:33
  555. *************************** 81. row ***************************
  556. post_id: 857358
  557. text_content: Mia?em gor?c? dyskusj? na ten temat w firmie dzisiaj. Co o tym my?licie?
  558.  
  559. Kolegom z pracy fasada kojarzy si? przede wszystkim z http://en.wikipedia.org/wiki/Interface_segregation_principle (tzn nie znaj? tej zasady, ale ich pogl?d na fasad? jest mniej wi?cej taki jak meritum tej zasady) i s? niech?tni temu, ?eby fasada zarz?dza?a jakimkolwiek stanem.
  560. from_unixtime(post_time): 2012-06-22 11:51:50
  561. *************************** 82. row ***************************
  562. post_id: 857474
  563. text_content: Czy w ka?dej firmie b?d? zmuszony do walki z g?upot? szefa czy mened?era, wzgl?dnie z mamtowdupizmem lub idiotyzmem poprzednik▒w? Jak znale?? firm? gdzie b?d? m▒g? robi? co? ambitnego?
  564.  
  565. Dop▒ki zajmowa?em si? programowaniem jako hobby (czy to na studiach czy przed studiami) to by?o do?? fajnie, a teraz to ju? jest lipa totalna. Nie mam nawet si?y na rozw▒j po godzinach.
  566. from_unixtime(post_time): 2012-06-22 17:41:58
  567. *************************** 83. row ***************************
  568. post_id: 857960
  569. text_content: Szefo chce ?eby mo?na by?o wyci?gn?? ?atwo z bazy wszystkie logi nale??ce do danej transakcji. Trzeba wi?c zapisa? w logach numer transakcji. Logowanie odbywa si? na zewn?trznych urz?dzeniach, kt▒re przesy?aj? logi do centralnej bazy poprzez webservie. Jak skojarzy? zdarzenia z numerami transakcji?
  570.  
  571. 1. Aktualne rozwi?zanie, kt▒re nie podoba si? szefowi:
  572. - w kodzie u?ywa si? normalnej fasady SLF4J,
  573. - zrobi?em odpowiedniego appendera, kt▒ry sobie sam wyci?ga "naoko?o" numer transakcji i wrzuca par? (numer transakcji, ILoggingEvent) do kolejki,
  574. - z kolejki asynchronicznie ju? lec? logi do bazy poprzez webservice (asynchroniczno?? jest w?a?nie dlatego, ?e to leci przez webservice),
  575. - numer transakcji jest osobn? kolumn? w bazie/ polem w klasie opisuj?cej logowane zdarzenie,
  576.  
  577. 2. Szefo proponuje:
  578. - przepychanie numeru transakcji do ka?dej klasy w aplikacji, tak?e niskopoziomowych warstwach, typu warstwy komunikacji z urz?dzeniami,
  579. - opakowanie loggera we w?asne klasy; w zasadzie jest to napisanie w du?ej mierze w?asnego loggera, bo standardowe appendery z logbacka czy log4ja nie obs?uguj? dodatkowych p▒l w ILoggingEvent ZTCW,
  580. - tak jak poprzednio by?aby kolejka do asynchronicznego wysy?ania zdarze?, a numer transakcji by?by osobnym polem/ kolumn?,
  581.  
  582. 3. M▒j nowy pomys?:
  583. - zamiast kojarzy? ka?de zdarzenie z numerem transakcji logowa? osobno zdarzenie typu: rozpocz?cie transakcji, zako?czenie transakcji, przerwanie transakcji, etc
  584. - rozr▒?nienie pomi?dzy normalnymi logami, a logami reprezentuj?cymi zmian? stanu transakcji zrobi? za pomoc? marker▒w (to jeden z wbudowanych mechanizm▒w log4j/ logbacka do rozr▒?niania zdarze?),
  585. - nie trzeba opakowywa? logger▒w, nie trzeba wyci?ga? numeru transakcji "naoko?o",
  586. - zgodno?? ze wszystkimi appenderami wbudowanymi w logbacka,
  587. - tak samo u?y?bym kolejki do wypychania zdarze? do zapisu w centralnej bazie,
  588. - nie by?oby osobnego pola/ kolumny w bazie do numeru transakcji,
  589. - przez co utrudnione by?oby wyszukiwanie log▒w nale??cych do danej transakcji - za?▒?my, ?e zdarzenie rozpocz?cia transakcji mia?oby znacznik SessionBegin, znacznik zako?czenia SessionEnd, a numer transakcji wepchn??bym jako Stringa w pole message zdarzenia to, aby wyci?gn?? zdarzenia z danej transakcji musia?bym:
  590. -- wyci?gn?? wszystkie zdarzenia z markerami SessionBegin lub SessionEnd,
  591. -- z nich wybra? tylko te, kt▒re maj? w message zapisany jako string numer transakcji, kt▒ra mnie interesuje,
  592. -- wyszuka? te logi, kt▒re maj? timestamp pomi?dzy timestampem wyszukanego SessionBegin, a wyszukanego SessionEnd,
  593.  
  594. 3a. Pomys? podobny do 3. z tym, ?e:
  595. - timestampy rozpocz?cia, zako?czenia, przerwania, itp znajdowa?yby si? w osobnej tabeli w bazie, dzi?ki czemu wyszukiwanie by?oby znacznie bardziej eleganckie i mia?o wi?ksz? wydajno??,
  596. - w sumie do?? rozs?dne rozwi?zanie, tyle ?e trzeba dwie tabele i tak samo jak w 3. nie wida? od razu przy logu numeru transakcji, gdy przegl?da si? baz? bezpo?rednio,
  597.  
  598.  
  599. W rozwi?zaniu 1. wad? kt▒r? mi szef wytyka jest to, ?e od momentu wywo?ania Logger.log do momentu odpalenia appendera, kt▒ry obs?uguje ten log mo?e min?? du?o czasu i przez ten czas inny w?tek zmieni numer transakcji. Nie zag??bia?em si? jeszcze mocno w logbacka (to nast?pca log4j wi?c powinien dzia?a? podobnie jak log4j), ale tam jest chyba tak, ?e metoda Logger.log czeka a? wszystkie appendery zako?cz? swoj? dzia?alno?? i wszystkie s? odpalane po kolei w jednym w?tku. W takim przypadku niewiele by to zmienia?o, bo nawet jakbym mia? numer sesji od razu podany, to m▒g?by nast?pi? przypadek typu: wchodzimy do metody i na pocz?tku numer sesji to 1, metoda trwa d?ugo i w mi?dzyczasie inny w?tek zmienia numer sesji na 2 albo null, a my potem w tej d?ugiej metodzie chcemy co? zalogowa?. Zalogowa? ze starym numerem transakcji czy z nowym? Jak kojarzy? zdarzenia z transakcjami w aplikacjach wielow?tkowych?
  600.  
  601. A czy je?li mamy transakcj? to nie powinien by? jeden w?tek, kt▒ry ni? zarz?dza? Za?▒?my ?e jest g?▒wny w?tek W0 i poboczne w?tki W1..Wn stworzone przez W0. Najbezpieczniej by?oby wtedy, gdyby W0 zrobi? join na wszystkich w?tkach od W1 do Wn. Tzn dok?adniej to w momencie zar▒wno rozpocz?cia jak i zako?czenia transakcji by?by tylko jeden aktywny w?tek - ten kt▒ry zarz?dza transakcjami.
  602.  
  603. Dodam, ?e chodzi mi o programowanie automatu, kt▒ry przyjmuje pieni?dze, ale z funkcjonalno?ci? logowania do serwisu przez internet i kupowania przez internet. W sumie w automatach tego typu (np banknomatach) transakcje s? raczej do b▒lu liniowe, zdaje mi si?, ?e nic nie jest robione w nich asynchronicznie. W takim przypadku nie ma problemu z dobieraniem si? do numeru transakcji "naoko?o" tzn nie podaj?c go w Logger.log tylko zast?puj?c to wyci?ganiem numeru transakcji w appenderze - skoro wszystko dzieje si? linowo, to i numer transakcji w appenderze b?dzie zawsze taki sam jak w momencie wywo?ania metody Logger.log
  604. from_unixtime(post_time): 2012-06-24 12:49:14
  605. *************************** 84. row ***************************
  606. post_id: 858234
  607. text_content: Jak na razie korzystam z Orange POP i nawet jest OK bo i tak ma?o dzwoni? czy SMSuj?, a do tej pory w og▒le nie korzysta?em z Internetu przez kom▒rk?. No ale skoro ju? kupi?em chi?skiego smartfona i wgra?em mu CyanogenModa to ch?tnie bym wykorzysta? jego mo?liwo?ci w terenie (np jako nawigacj?, sprawdzenie poczty, u?ycie wyszukiwarki etc)
  608.  
  609. Orange Free na kart? to chyba najlepszy wyb▒r je?li chodzi o tani net na kart? w Orange, no nie? S? jakie? kruczki w tym. Czyta?em, ?e nie da si? sprawdzi? wykorzystania limitu na koncie promocyjnym dla przyk?adu.
  610. from_unixtime(post_time): 2012-06-25 07:52:01
  611. *************************** 85. row ***************************
  612. post_id: 858968
  613. text_content: Czy kto? korzysta z takiej kombinacji? Jak wra?enia, te? macie BSODy?
  614.  
  615. Moja ekscytuj?ca historia z t? kombinacj?:
  616. Zainstalowa?em Win7 w trybie Compatibility Mode ze staro?ytnym protoko?em IDE (m▒wi? o ustawieniach w BIOSie), a niedawno zmieni?em w BIOSie ustawienie na AHCI (nota bene: wersja AHCI i tak pewnie nie pierwszej ?wie?o?ci, sama wersja BIOSu jest z 2009) i Windows 7 przesta? si? bootowa?. Uda?o mi si? jednak ustawi? Windowsa tak, ?eby dzia?a? na AHCI, z tym, ?e czasami sypie BSODami i si? resetuje. Mo?e nied?ugo sytuacja si? unormuje (tzn zwiechy przy bootowaniu spowodowa?y jakie? b??dy w strukturze logicznej na dysku chyba).
  617.  
  618. Ubuntu lata bezproblemowo niezale?nie od ustawie? w BIOSie.
  619. from_unixtime(post_time): 2012-06-27 10:40:45
  620. *************************** 86. row ***************************
  621. post_id: 860029
  622. text_content: Przysz?o mi pismo, ?e do 10 lipca trzeba wybra? OFE. Czy jest jaka? znaczna r▒?nica pomi?dzy nimi? Tzn chodzi mi o ca?kowity zysk/ strat? w ci?gu np ostatnich 10 lat (nie wiem ile czasu te OFE dzia?aj? wi?c je?li 10 lat to za du?o to niech b?dzie i 5 lat).
  623.  
  624. ZTCW OFE i tak musz? zdecydowan? wi?kszo?? pieni?dzy lokowa? albo w obligacjach albo zgodnie z jakimi? dyrektywami z g▒ry, np narzucone jest inwestowanie w Polsce. Zak?adam, ?e OFE wci?ga por▒wnywalne lub nawet wi?ksze prowizje ni? ZUS (bo w sumie nie ma powodu, ?eby banksterzy dbali o klient▒w je?li sami generuj? papierowy czy plastikowy pieni?dz fiducjarny). Sk?adki do OFE ju? s? ma?e i nie zapowiada si? na to, ?eby powr▒ci?y do stanu pierwotnego. Pr?dzej kt▒ry? premier zrobi kolejny skok na OFE i ca?kowicie je zlikwiduje.
  625.  
  626. Pismo, kt▒re do mnie przysz?o zawiera?o ostrze?enie, ?e OFE zostanie dla mnie wylosowane. A mo?e jednak zrezygnowa? w og▒le z OFE? Zna kto? jakie? dobre zestawienie historyczne zysk▒w poszczeg▒lnych OFE?
  627. from_unixtime(post_time): 2012-07-02 11:57:43
  628. *************************** 87. row ***************************
  629. post_id: 861187
  630. text_content: Czasem u?ywam skr▒t▒w, kt▒re by? mo?e nie s? znane wi?kszo?ci forumowicz▒w i chcia?bym ?eby wiedzieli o co chodzi. Ci co znaj? te skr▒ty nie musz? czyta? wtedy wielu wyraz▒w.
  631.  
  632. Znacznik ABBR i jego atrybut TITLE rozwi?zywa?yby spraw?.
  633. from_unixtime(post_time): 2012-07-07 12:06:13
  634. *************************** 88. row ***************************
  635. post_id: 861274
  636. text_content: Wklepa?em t? fraz? do G, ale jakie? takie bez sensu wyniki wychodz?. Czy komukolwiek uda?o si? zmatowi? ekran, tak ?eby nie pogorszy?a si? jako?? obrazu?
  637. from_unixtime(post_time): 2012-07-07 16:04:37
  638. *************************** 89. row ***************************
  639. post_id: 863863
  640. text_content: Niech mi kto? poda instrukcj? krok po kroku, bo dziwne rzeczy si? u mnie dziej?.
  641.  
  642. Mam Eclipse 3.7 i w Debug Configurations nie mam nic zwi?zanego z antowymi taskami.
  643. from_unixtime(post_time): 2012-07-17 11:27:32
  644. *************************** 90. row ***************************
  645. post_id: 868060
  646. text_content: Kto? wie co robi ?rodkowe pokr?t?o? I jak ustawi? t? pralk?, ?eby suszy?a ubrania? ZTCP kiedy? mi wysuszy?a.
  647.  
  648. {{Image:Bez nazwy.jpg}}
  649. from_unixtime(post_time): 2012-08-01 21:19:11
  650. *************************** 91. row ***************************
  651. post_id: 868657
  652. text_content: Najpierw mo?e zapodam m▒j brudnopis z rozpiskami:
  653. <code=haskell>{-
  654. class Monad m where
  655. (>>=) :: m a -> (a -> m b) -> m b
  656. return :: a -> m a
  657. -}
  658.  
  659. newtype Cont r a = Cont { runCont :: ((a -> r) -> r) }
  660.  
  661. instance Monad (Cont r) where
  662. return n = Cont (\k -> k n)
  663. m >>= f = Cont (\k -> runCont m (\a -> runCont (f a) k))
  664.  
  665. class (Monad m) => MonadCont m where
  666. callCC :: ((a -> m b) -> m a) -> m a
  667.  
  668. instance MonadCont (Cont r) where
  669. callCC f = Cont $ \k -> runCont (f (\a -> Cont $ \_ -> k a)) k
  670.  
  671. {-
  672. bar :: Cont r Int
  673. bar = callCC $ \k -> do
  674. let n = 5
  675. k n
  676. return 25
  677. -}
  678.  
  679. bar :: Cont r Int
  680. bar = callCC $ \k ->
  681. k 5 >>= \_ ->
  682. Cont (\k -> k 25)
  683.  
  684. {-
  685. baz :: (Integer -> Cont r a) -> Cont r Integer
  686. baz = \k ->
  687. k 5 >>= \_ ->
  688. Cont (\k -> k 25)
  689. -}
  690.  
  691. baz :: (Integer -> Cont r a) -> Cont r Integer
  692. --baz = \k -> Cont (\l -> runCont (k 5) (\a -> runCont ((\_ -> Cont (\k -> k 25)) a) l))
  693. --baz = \k -> Cont (\l -> runCont (k 5) (\_ -> runCont (Cont (\k -> k 25)) l))
  694. --baz = \k -> Cont (\l -> runCont (k 5) (\_ -> (\k -> k 25) l))
  695. baz = \k -> Cont (\l -> runCont (k 5) (\_ -> l 25))
  696.  
  697. foo :: (Integer -> (a -> r) -> r) -> (Integer -> r) -> r
  698. foo = \k l -> k 5 (\_ -> l 25)
  699.  
  700. boo :: (Integer -> r) -> r
  701. --boo = callCC (\k -> Cont (\l -> runCont (k 5) (\_ -> l 25)))
  702. --boo = \m -> ((\k l -> k 5 (\_ -> l 25)) (\a -> (\_ -> m a))) m
  703. --boo = \m -> ((\k -> k 5 (\_ -> m 25)) (\a -> (\_ -> m a)))
  704. --boo = \m -> ((\a -> (\_ -> m a)) 5 (\_ -> m 25))
  705. --boo = \m -> ((\a _ -> m a) 5 (\_ -> m 25))
  706. --boo = \m -> ((\a -> m a) 5)
  707. boo = \m -> m 5
  708.  
  709. {-
  710. -}
  711.  
  712. add x y = x + y
  713. square x = x * x
  714.  
  715. add_cont :: Int -> Int -> Cont r Int
  716. add_cont x y = return (add x y)
  717.  
  718. square_cont :: Int -> Cont r Int
  719. square_cont x = return (square x)
  720.  
  721. {-
  722. pythagoras_cont :: Int -> Int -> Cont r Int
  723. pythagoras_cont x y =
  724. do x_squared <- square_cont x
  725. y_squared <- square_cont y
  726. sum_of_squares <- add_cont x_squared y_squared
  727. return sum_of_squares
  728. -}
  729.  
  730. --m >>= f = Cont (\k -> runCont m (\a -> runCont (f a) k))
  731.  
  732. pythagoras_cont :: Int -> Int -> Cont r Int
  733. --pythagoras_cont x y = square_cont x >>= (\x_squared -> square_cont y >>= (\y_squared -> add_cont x_squared y_squared >>= (\sum_of_squares -> Cont (\k -> k sum_of_squares))))
  734. --pythagoras_cont x y = square_cont x >>= (\x_squared -> square_cont y >>= (\y_squared -> (add_cont x_squared y_squared >>= (\sum_of_squares -> Cont (\k -> k sum_of_squares)))))
  735. --pythagoras_cont x y = square_cont x >>= (\x_squared -> square_cont y >>= (\y_squared -> Cont (\l -> runCont (add_cont x_squared y_squared) (\a -> runCont ((\sum_of_squares -> Cont (\k -> k sum_of_squares)) a) l))))
  736. --pythagoras_cont x y = square_cont x >>= (\x_squared -> square_cont y >>= (\y_squared -> Cont (\l -> runCont (add_cont x_squared y_squared) (\a -> runCont (Cont(\k -> k a)) l))))
  737. --pythagoras_cont x y = square_cont x >>= (\x_squared -> square_cont y >>= (\y_squared -> Cont (\l -> runCont (add_cont x_squared y_squared) (\a -> l a))))
  738. --pythagoras_cont x y = square_cont x >>= (\x_squared -> Cont (\k -> runCont (square_cont y) (\b -> runCont ((\y_squared -> Cont (\l -> runCont (add_cont x_squared y_squared) (\a -> l a))) b) k)))
  739. --pythagoras_cont x y = square_cont x >>= (\x_squared -> Cont (\k -> runCont (square_cont y) (\b -> runCont (Cont (\l -> runCont (add_cont x_squared b) (\a -> l a))) k)))
  740. --pythagoras_cont x y = Cont (\n -> runCont (square_cont x) (\c -> runCont ((\x_squared -> Cont (\k -> runCont (square_cont y) (\b -> runCont (Cont (\l -> runCont (add_cont x_squared b) (\a -> l a))) k))) c) n))
  741. --pythagoras_cont x y = Cont (\n -> runCont (square_cont x) (\c -> runCont (Cont (\k -> runCont (square_cont y) (\b -> runCont (Cont (\l -> runCont (add_cont c b) (\a -> l a))) k))) n))
  742. --pythagoras_cont x y = Cont (\n -> runCont (square_cont x) (\c -> runCont (Cont (\k -> runCont (square_cont y) (\b -> runCont (add_cont c b) (\a -> k a)))) n))
  743. pythagoras_cont x y = Cont (\k -> runCont (square_cont x) (\c -> runCont (square_cont y) (\b -> runCont (add_cont c b) (\a -> k a))))</code>
  744.  
  745. Sprawa jest taka. Rozumiem mniej wi?cej na czym polegaj? kontynuacje i jak dzia?a monada do sk?adania kontynuacji, natomiast za choler? nie jestem w stanie zrozumie? jak dzia?a funkcja callCC. Moja rozpiska metody potwierdza, ?e jak wywo?am aktualn? kontynuacj? w bloku do to nast?pne funkcje nie zostan? wykonane. Tyle, ?e dalej nie potrafi? sobie opracowa? jakich? analogii mniej abstrakcyjnych ni? znaczki.
  746. from_unixtime(post_time): 2012-08-04 21:12:19
  747. *************************** 92. row ***************************
  748. post_id: 869563
  749. text_content: Oto jak wa?ny jest izolowany od Internetu backup: http://pclab.pl/news50643.html
  750. from_unixtime(post_time): 2012-08-07 13:34:32
  751. *************************** 93. row ***************************
  752. post_id: 869678
  753. text_content: Oryginalny problem wydawania reszty to problem w kt▒rym musimy wyda? dan? kwot? minimaln? ilo?ci? monet/ banknot▒w zak?adaj?c, ?e mamy niesko?czon? ilo?? egzemplarzy monet/ banknot▒w ka?dego nomina?u. S? dwie wersje problemu: jedna w kt▒rej mamy obliczy? tylko ile minimalnie musimy u?y? monet i banknot▒w (ta wersja mnie nie interesuje) i druga w kt▒rej opr▒cz tego musimy znale?? kombinacj? monet i banknot▒w o minimalnej ilo?ci kt▒ra realizuje wyp?at?.
  754.  
  755. Zak?adaj?c, ?e kwota do wydania to `kwota`, a nomina?y s? zawarte w tablicy `nomina?y`, uda?o mi si? stworzy? algorytm, b?d?cy lekk? modyfikacj? algorytmu z Wiki, kt▒ry liczy rozwi?zanie w czasie O(`kwota` * `nomina?y`.length) i u?ywa, jak mi si? wydaje po paru kr▒tkich pr▒bach, O(`nomina?y`.length) pami?ci.
  756. Algorytm jest tutaj: http://ideone.com/d6suB
  757. Czy kto? mo?e potwierdzi?, ?e ten algorytm rzeczywi?cie potrzebuje tylko O(`nomina?y`.length) pami?ci? A mo?e gdzie? na necie ju? jest rozwi?zanie o interesuj?cej mnie z?o?ono?ci.
  758. Algorytm wykorzystuje niemutowalne listy jednokierunkowe. Dzi?ki temu mog? utworzy? now? list? z listy o dowolnej d?ugo?ci i nowego elementu w czasie sta?ym i u?ywaj?c sta?? ilo?? dodatkowej pami?ci. Usuwaniem w?z?▒w, kt▒re przestaj? by? osi?galne zajmuje si? oczywi?cie od?miecacz wbudowany w maszyn? wirtualn?.
  759.  
  760. Docelowo chcia?bym mie? bardziej rozbudowany algorytm. Ot▒z w moim problemie ka?dy nomina? ma ograniczon? liczb? egzemplarzy. Ponadto chcia?bym nada? priorytety konkretnym monetom i banknotom (nie konkretnym nomina?om, a konkretnym monetom czy banknotom!). Priorytety s? po to, ?eby zapobiega? jak tylko si? da wyp?acaniu danego nomina?u poni?ej limitu ostrzegawczego - czyli docelowo po to, abym zminimalizowa? ryzyko, ?e nie bed? m▒g? komu? wyp?aci? pieni?dzy. Wobec tego, moim pomys?em jest zrobienie tylu krok▒w ile jest konkretnie wszystkich monet i banknot▒w, a nie tylu krok▒w ile jest dost?pnych nomina?▒w.
  761.  
  762. Zak?adaj?c najprostszy wariant rozwi?zania, czyli utworzenie ca?ej macierzy takiej jak pokazana na Wiki zjad?oby spor? ilo?? pami?ci. Jednostk? w kt▒rej licz? pieni?dze jest grosz, a monet i banknot▒w mo?e by? w sumie kilkaset. Zak?adaj?c wyp?at? 500 z?, czyli 50 000 groszy i 500 monet i banknot▒w razem oraz maj?c 8 bajt▒w na ka?dy element macierzy dostaj? zaj?to?? pami?ci r▒wn?: 50 000 * 500 * 8 B = 200 MB Chocia? w sumie to mo?e i nie tak znowu du?o.
  763.  
  764. Macie jakie? ciekawe pomys?y jak to rozwi?za??
  765. from_unixtime(post_time): 2012-08-07 18:03:18
  766. *************************** 94. row ***************************
  767. post_id: 870616
  768. text_content: Robimy z kumplem w robocie aplikacj? opart? o automat sko?czony i wydaje si? to nam du?o lepszym rozwi?zaniem ni? go?y MVC z klejeniem handler▒w i event▒w na 100 mln r▒?nych sposob▒w. Aplikacja jest w zasadzie desktopowa (kiosk mode), trudno?ci sprawia nam zamodelowanie wywo?a? asynchronicznych w maszynie stan▒w, jak i np osobnych w?tk▒w licz?cych/ komunikuj?cych si? ze ?wiatem zewn?trzny ?yj?cych troch? w?asnym ?yciem.
  769.  
  770. Czy kto? robi? aplikacje, szczeg▒lnie chodzi o aplikacje z GUI, oparte na automatach sko?czonych? Je?li tak to prosz? o jak?? sprawdzon? literatur?.
  771. from_unixtime(post_time): 2012-08-10 00:44:01
  772. *************************** 95. row ***************************
  773. post_id: 871995
  774. text_content: chc? przeportowa? m▒j algorytm kompresji bezstratnej do javascript, a moja znajomo?? javascript jest kiep?ciutka. czy zna z was kto? tutorial do javascriptu kt▒ry skupia si? na pisaniu w nim algorytm▒w? wiem, ?e np w najnowszym ecmascript s? typed arrays i s? one chyba szybsze ni? zwyk?e tablice, ale to tyle je?li chodzi o wydajno??.
  775. from_unixtime(post_time): 2012-08-14 19:42:19
  776. *************************** 96. row ***************************
  777. post_id: 875229
  778. text_content: Chodzi mi mniej wi?cej o jaki? tag typu `< ukryj >tre??< /ukryj >`. Przed tre?ci? by?by wy?wietlany przycisk z napisem "poka?", a tre?? by?aby domy?lnie ukryta. Po klikni?ciu tre?? by?aby pokazywana.
  779. from_unixtime(post_time): 2012-08-26 18:11:54
  780. *************************** 97. row ***************************
  781. post_id: 876839
  782. text_content: Czy?bym by? jedynym userem siedz?cym na forum? Nawet Googlebot opu?ci? 4p?
  783.  
  784. {{Image:13243242675040fd2cecb72.png}}
  785. from_unixtime(post_time): 2012-08-31 18:07:08
  786. *************************** 98. row ***************************
  787. post_id: 877414
  788. text_content: Zrobi?em kolejne podej?cie do robienia GUI do mojego algorytmu kompresji :p Tym razem pokierowa?a mn? ch?? sprawdzenia jak klepie si? interfejsy w Swingu z u?yciem Java Beans, tzn PropertyChangeSupport, Beans Binding, itp Og▒lnie planuj? zaimplementowa? m▒j algo w Javie (co ju? jest ale brakuje interfejsu linii polece?), JavaScripcie, Pythonie, Scali i by? mo?e w Haskellu, a potem por▒wna? wydajno?? :]
  789.  
  790. Najbardziej interesuje mnie co (potencjalnie) powinienem poprawi?, tzn jakie? irytuj?ce zachowanie GUI czy kiepsko zaprojektowany kod.
  791.  
  792. ?r▒d?a projektu na GitHubie: https://github.com/tarsa/TarsaLZP
  793. from_unixtime(post_time): 2012-09-02 21:45:37
  794. *************************** 99. row ***************************
  795. post_id: 877698
  796. text_content: Te? tak macie?
  797.  
  798. Sprawdza?em w Firefoksie i d?wi?k nie jest przesterowany, g?o?no?? jest normalna. W Chrome przy takich samych ustawieniach d?wi?k sporo g?o?niejszy i masakrycznie przesterowany. Siedz? na Ubuntu.
  799. from_unixtime(post_time): 2012-09-04 07:57:05
  800. *************************** 100. row ***************************
  801. post_id: 880733
  802. text_content: M▒j poprzedni post opisuj?cy ten problem chyba znikn?? (bo chyba go napisa?em w dziale newbie), no ale problem jest taki, ?e mam sobie tablic? bajt▒w, mo?e to by? typowana tablica ale nie musi. Chc? t? tablic? w jakikolwiek w miar? wydajny spos▒b zrzuci? na dysk. Aktualnie mam taki kod: http://4programmers.net/Pastebin/1880
  803.  
  804. Pytanie: co wrzuci? do saveResults, ?eby da?o si? zapisa? dane na dysk w 100% niezmienione i z sensown? pr?dko?ci? (np max kilkana?cie sekund na 100 megowy plik)? Szuka?em po Googlach, ale nie mam cierpliwo?ci do klejenia rozwi?zania z krzywych skrawk▒w.
  805. from_unixtime(post_time): 2012-09-14 22:47:44
  806. *************************** 101. row ***************************
  807. post_id: 884121
  808. text_content: Jakie znacie i u?ywacie preparaty na popraw? wzroku i/ lub zmniejszenie zm?czenia oczu? Prosz? o opinie.
  809.  
  810.  
  811.  
  812. Poszuka?em w Google i znalaz?em info, ?e nast?puj?ce substancje pomagaj?: luteina, zeaksantyna, astaksantyna - s? to antyoksydanty. Co o tym s?dzicie?
  813. from_unixtime(post_time): 2012-09-28 15:37:30
  814. *************************** 102. row ***************************
  815. post_id: 886231
  816. text_content: Mam taki kod:
  817. <code=java>class Base {
  818. final int var1;
  819. int var2 = 6;
  820.  
  821. public Base(final int var1) {
  822. this.var1 = var1;
  823. }
  824.  
  825. int getX() {
  826. return var1;
  827. }
  828. }
  829.  
  830.  
  831. class Derived extends Base {
  832. final int var3;
  833. int var4 = 8;
  834.  
  835. public Derived(final int var1, final int var3) {
  836. super(var1);
  837. this.var3 = var3;
  838. }
  839.  
  840. @Override
  841. int getX() {
  842. return super.getX() + var4;
  843. }
  844. }</code>
  845. Chc? go przet?umaczy? 1:1 do JavaScriptu. Jak to zrobi??
  846. from_unixtime(post_time): 2012-10-07 21:46:58
  847. *************************** 103. row ***************************
  848. post_id: 887955
  849. text_content: Mam taki kod i dzia?a on zgodnie z zamiarami w Operze, a w Chromie i Firefoksie nie.
  850. http://4programmers.net/Pastebin/1906
  851. Interesuj?ca linijka to:
  852. <code=javascript>var status = document.getElementById("status"); status.innerText = "testujemy";</code>
  853.  
  854.  
  855. Natomiast je?li zrobi? co? takiego to dzia?a we wszystkich przegl?darkach:
  856. http://4programmers.net/Pastebin/1907
  857. Interesuj?ca linijka to:
  858. <code=javascript>document.getElementById("status").innerText = "testujemy";</code>
  859.  
  860. Czy mo?na w prosty spos▒b zrobi? zmienn? tak jak w pierwszym przyk?adzie, ale tak ?eby dzia?a?a (we wszystkich przegl?darkach) jak w drugim?
  861. from_unixtime(post_time): 2012-10-14 12:54:30
  862. *************************** 104. row ***************************
  863. post_id: 896788
  864. text_content: ZTCW to w .NET jest TCO (tail call optimizaiton). Moje pytanie dotyczy jego obserwowalnych efekt▒w tzn dok?adnie chodzi mi o to, czy w??czanie i wy??czanie TCO wp?ywa na raportowane przez Exceptiony stacktrace. Np mam funkcj?:
  865.  
  866. <code>
  867. bleble(n) = {
  868. if (n == 0) {
  869. throw new Exception("dupa");
  870. } else {
  871. bleble(n - 1);
  872. }
  873. }
  874. </code>
  875.  
  876. I teraz pytanie czy jak jest w??czone TCO to czy z?apany Exception b?dzie pokazywa?, ?e metoda by?a n razy wywo?ana rekurencyjnie?
  877.  
  878. Analogicznie chcia?bym wiedzie? jak sprawa wygl?da w przypadku bardziej skomplikowanych wywo?a? ogonowych, nie tylko rekurencja ogonowa, ale tak?e np wzajemna rekurencja ogonowa N funkcji.
  879.  
  880.  
  881.  
  882. Do tego jeszcze pytanie og▒lniejsze (zak?adaj?c, ?e .NET nie spe?nia powy?szych oczekiwa?):
  883. Czy istnieje jakakolwiek platforma programistyczna, kt▒ra przeprowadza?aby TCO w taki spos▒b, ?eby zachowa? stacktrace takie jakie by?y przed TCO?
  884. from_unixtime(post_time): 2012-11-15 16:57:06
  885. *************************** 105. row ***************************
  886. post_id: 907537
  887. text_content: Mam sobie wiele podkatalog▒w w jednym g?▒wnym katalogu i w niekt▒rych z tych podkatalog▒w znajduje si? plik `lock`. Chc? wypisa? wszystkie te podkatalogi, a obok ka?dej nazwy podkatalogu dopisa? napis LOCK lub FREE w zale?no?ci od tego czy plik `lock` znajduje si? w tym podkatalogu. Jak to zrobi??
  888. from_unixtime(post_time): 2012-12-13 14:49:30
  889. *************************** 106. row ***************************
  890. post_id: 923880
  891. text_content: Np takie pozycje jak:
  892. - Innovations New Advanced Teachers Book
  893. - Innovations New Advanced Teachers Resource Book
  894.  
  895. Czy mog? si? do czego? przyda? osobie kt▒ra uczy si? na w?asn? r?k??
  896.  
  897.  
  898. Dok?adniej to firma sponsoruje niby kurs angielskiego i jest na nim ta seria u?ywana, ale nie zawsze jestem na tych zaj?ciach, a chcia?bym to dobrze przerobi?.
  899. from_unixtime(post_time): 2013-02-06 19:15:44
  900. *************************** 107. row ***************************
  901. post_id: 930245
  902. text_content: Troch? n00bskie pytanie, ale przejd?my do rzeczy.
  903.  
  904. Jest sobie optymalizator, tzn program optymalizuj?cy za pomoc? algorytm▒w genetycznych parametry na podstawie funkcji kosztu. Jest tutaj: http://encode.ru/threads/1679-Question-about-LPAQ1-mixer?p=32460&viewfull=1#post32460 i jest napisany w C++
  905.  
  906. Ja napisa?em sobie program w czystym C, np tutaj: http://encode.ru/threads/1671-Demixer-new-tree-based-bitwise-CM-codec-is-in-development?p=32455&viewfull=1#post32455
  907.  
  908. Chc? go zintegrowa?. Autor optymalizatora napisa? o "compile in", ale przy zwyk?ym zaincludeowaniu moich plik▒w z kodem C do kodu C++ (tzn do funkcji rastrigin.cpp) jest troch? rzygania errorami. Zreszt? nie chc? ?eby np pliki nag?▒wkowe czy co? innego si? gryz?o.
  909.  
  910. My?l? o tym, by po??czy? pliki OBJ (czy jak im tam). Z drugiej strony nie chc? robi? z mojego programu biblioteki, chc? tylko wyeksportowa? jedn? funkcj?.
  911.  
  912. Pytanie: jak wyeksportowa? funkcj? oraz co zaimportowa? do Code::Blocks i w kt▒rym miejscu, tak ?eby:
  913. 1. najlepiej nie musie? nic kompilowa? z konsoli,
  914. 2. nie zmienia? typu mojego programu na bibliotek? (bo nie robi? biblioteki, a samodzielny program),
  915. from_unixtime(post_time): 2013-03-02 17:07:55
  916. *************************** 108. row ***************************
  917. post_id: 934011
  918. text_content: Mam Ubuntu 12.04 64-bit, NetBeans 7.3.
  919.  
  920. Najpierw ustawi?em: `echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope`
  921.  
  922. Projekt mam w: `~/NetBeansProjects/Demixer`
  923. Binarka jest w: `~/NetBeansProjects/Demixer/dist/Debug/GNU-Linux-x86/demixer`
  924. Valgrinda odpalam tak:
  925. <code>piotrek@p5q-pro:/tmp/cm$ valgrind --vgdb=yes --vgdb-error=0 --track-origins=yes ~/NetBeansProjects/Demixer/dist/Debug/GNU-Linux-x86/demixer encode order=63 nodesNumber=10k < ~/corpora/maxcomp/world95.txt > world95.txt.e63 2> valgrind.txt</code>
  926.  
  927.  
  928. Nast?pnie w NetBeans daj? opcj? Attach debugger...
  929. Debugger: Using Gdb debugger
  930. Host: localhost
  931. Filter: demixer
  932. Na li?cie pozostaje jeden element i go wybieram
  933. W polu Executable pojawia si?: /usr/bin/valgrind.bin --vgdb=yes --vgdb-error=0 --track-origins=yes /home/piotrek/NetBeansProjects/Demixer/dist/Debug/GNU-Linux-x86/demixer encode order=63 nodesNumber=10k
  934. W polu project wybieram: Demixer
  935.  
  936. Nast?pnie odpalam i dostaj? komunikat: `: Nie ma takiego pliku ani katalogu.` (tytu? okienka to: Debugger Error).
  937.  
  938. Potem tak jakby sesja debuggera by?a aktywna, tzn jest panel typowy dla trybu debugowania, ale nic nie dzia?a opr▒cz przycisku Finish Debugger Session, kt▒ry chyba tylko zamyka okienka w NetBeansie.
  939.  
  940.  
  941.  
  942.  
  943. Uda?o si? komu? po??czy? Valgrinda z NetBeansem? Je?li tak to w jaki spos▒b?
  944. from_unixtime(post_time): 2013-03-17 15:18:05
  945. *************************** 109. row ***************************
  946. post_id: 949580
  947. text_content: Szuka? kto? kawalerki ostatnio w Krakowie i/ lub orientuje si? jakie s? ceny za ca?o?? (tzn najem + czynsz + media + cokolwiek)? :]
  948. 1500 z? (1200 z? najem + 300 z? reszta) za kawalerk? z balkonem w bloku z 2010 to du?o?
  949.  
  950. :)
  951. from_unixtime(post_time): 2013-05-16 20:15:12
  952. *************************** 110. row ***************************
  953. post_id: 965207
  954. text_content: Troch? n00bskie pytanie, no ale chc? si? upewni?.
  955.  
  956. Mam kablowy net z UPC poprzez modem. Nie chc? kupowa? routera tylko zamontowa? w kompie jak?? kart? na PCI-E kt▒ra by pozwoli?a na stworzenie lokalnej sieci WiFi. Czy dowolna karta WiFi wystarczy?
  957.  
  958. Nastepne pytania:
  959. Za?▒?my, ?e mam ju? odpowiedni? kart?. Jak w Windowsie 8 jak i Ubuntu 12.04 ustawi? sprz?t tak by zmostkowa? (dobre s?owo?) kart? Ethernetow? i kart? WiFi? Chcia?bym w dowolnym momencie m▒c sobie wy??cza? i w??cza? sie? WiFi, ale tak by nie mia?o to ?adnego wp?ywu na po??czenie z netem na komputerze pod??czonym przez kabel Ethernet.
  960. from_unixtime(post_time): 2013-07-23 08:25:08
  961. *************************** 111. row ***************************
  962. post_id: 965498
  963. text_content: Jest ju? niby par? w?tk▒w o polityce, ale ka?dy kojarzy si? z czym? konkretnym, czy to z demokracj?, czy z PO, czy z UE, itp
  964.  
  965. Ten w?tek b?dzie og▒lny.
  966.  
  967.  
  968. Na pocz?tek:
  969. Nowy spos▒b na zwi?kszenie PKB: http://gospodarka.dziennik.pl/news/artykuly/433676,dochody-z-prostytucji-beda-czescia-pkb.html
  970. from_unixtime(post_time): 2013-07-24 11:54:50
  971. *************************** 112. row ***************************
  972. post_id: 966544
  973. text_content: Top na Linuksie wypluwa mi mi?dzy innymi tak? linijk?: `Tasks: 347 total, 7 running, 336 sleeping, 3 stopped, 1 zombie`
  974. Tymczasem w prstat stany s? troch? inne: `STATE: the state of the process (cpuN/sleep/wait/run/zombie/stop).`
  975.  
  976. Ma kto? pewny pomys? jak to pogodzi??
  977. from_unixtime(post_time): 2013-07-29 13:57:42
  978. *************************** 113. row ***************************
  979. post_id: 969109
  980. text_content: Niedawno w wyniku chwilowego zaniku wyobra?ni zepsu?em sobie dysk (dok?adniej: chcia?em strzepn?? kurz i pomacha?em gwa?townie dyskiem). Dane na tym dysku s? raczej cenne, ale s? tam te? dane kt▒re s? nie do ko?ca legalne oraz jest pewnie sporo hase? itp
  981.  
  982. Jak jest z poufno?ci? danych? Mog? by? pewien, ?e nic mi si? nie stanie? ;]
  983.  
  984. A i dodatkowo:
  985. Jakie firmy z Krakowa polecacie?
  986. from_unixtime(post_time): 2013-08-12 10:34:10
  987. *************************** 114. row ***************************
  988. post_id: 977761
  989. text_content: Mam kompa z nast?puj?c? konfiguracj?:
  990. - Windows Vista HP SP2 64-bit,
  991. - 8 GiB RAM,
  992. - p?yta Asus P5Q Pro,
  993. - dysk g?▒wny na SATA WD 1 TB,
  994. - dwa dyski na IDE, jeden ok 0.5 GB, a drugi ok 1 GB,
  995.  
  996. Vista w og▒le nie rozpoznaje tych dysk▒w, nie mog? znale?? absolutnie ?adnego ?ladu o nich w systemie. Natomiast gdy odpal? Ubuntu 12.04.2 64-bit to spokojnie je widz? i z poziomu Ubuntu zgra?em ich zawarto??.
  997.  
  998. Problem polega na tym, ?e na jednym z dysk▒w program badblocks wykry? badsektory (w ilo?ci 13) i chcia?bym chocia?by zlokalizowa? pliki kt▒re zosta?y uszkodzone. Pr▒bowa?em z poziomu Ubuntu, ale niekt▒re narz?dzia dawa?y b??dy typu nieprawid?owy startowy blok czy co? w ten dese? (np program debugfs taki b??d zwraca?).
  999.  
  1000. By? mo?e z poziomu systemu Windows Vista da?oby si? co? zbada?, gdyby tylko ten system wykry? mi te dyski.
  1001.  
  1002. Te dyski s? (oczywi?cie) podpi?te szeregowym kablem ATA, wi?c nie podepn? ich pod jakiekolwiek z??cza SATA.
  1003.  
  1004. Pytanie wi?c brzmi: jak zlokalizowa? pliki, kt▒re s? zapisane na wadliwych sektorach?
  1005. from_unixtime(post_time): 2013-09-30 12:23:11
  1006. *************************** 115. row ***************************
  1007. post_id: 985962
  1008. text_content: Spr▒bowa?em sobie zaprogramowa? liczenie logarytmu naturalnego bez u?ycia sprz?towych funkcji do ich liczenia i mam do?? du?e b??dy. Licz? z rozwini?cia w szereg i o ile wok▒? jedynki mam do?? dobre wyniki to dla liczb troch? odbiegaj?cych od jedynki dok?adno?? mocno spada. Robi? co? ?le, czy mo?e liczenie logarytmu naturalnego w ten spos▒b jest z g▒ry skazane na pora?k??
  1009.  
  1010. <code=java>
  1011. import java.math.BigInteger;
  1012. import static java.math.BigInteger.ONE;
  1013. import static java.math.BigInteger.ZERO;
  1014. import static java.math.BigInteger.valueOf;
  1015.  
  1016. public class Main {
  1017.  
  1018. public static void main(String[] args) {
  1019. int scale = 50;
  1020. for (long x = 1l; x < 2l << scale; x += 1l << scale - 7) {
  1021. System.out.printf("%f %f %f\n",
  1022. x / (double) (1l << scale),
  1023. Math.log(x / (double) (1l << scale)),
  1024. ln(x, scale) / (double) (1l << scale));
  1025. }
  1026. }
  1027.  
  1028. public static long ln(long x, int scale) {
  1029. BigInteger r = ZERO;
  1030. BigInteger f = ONE.shiftLeft(scale).subtract(valueOf(x));
  1031. BigInteger c = ONE.negate().shiftLeft(scale);
  1032. int maxk = 99;
  1033. for (int k = 1; k <= maxk; k++) {
  1034. c = c.multiply(f);
  1035. r = r.multiply(valueOf(k)).shiftLeft(scale).add(c);
  1036. }
  1037. for (int k = 1; k <= maxk; k++) {
  1038. r = r.divide(valueOf(k));
  1039. }
  1040. r = r.shiftRight(maxk * scale);
  1041. return r.longValue();
  1042. }
  1043. }
  1044. </code>
  1045. http://ideone.com/IC7lmg
  1046. from_unixtime(post_time): 2013-11-04 21:34:10
  1047. *************************** 116. row ***************************
  1048. post_id: 985969
  1049. text_content: Poszukuj? jakiego? poradnika krok po kroku jak wydoby? dane ze skompresowanego woluminu DriveSpace. DriveSpace to taki bajer w Windowsie 98, kt▒ry pozwala na zwi?kszenie efektywnej pojemno?ci dysku.
  1050.  
  1051. Problem z DriveSpace jest taki, ?e sterownik jest ?adowany dzi?ki wpisowi w CONFIG.SYS, a DosBox nie obs?uguje tego pliku (tzn nie emuluje jego obs?ugi). No i tu jest problem, bo jestem cienki w te klocki (tzn w zabawy z emulatorami).
  1052.  
  1053. Ma kto? pomys? jak prosto wydoby? te dane?
  1054. from_unixtime(post_time): 2013-11-04 21:54:30
  1055. *************************** 117. row ***************************
  1056. post_id: 1002503
  1057. text_content: Nie wiem czy to si? nadaje na forum :) ale klepi? sobie program do kompresji danych i mam problem bo ?le dekompresuje :p
  1058.  
  1059. Oto kod:
  1060. <code=c>/*
  1061. * chunker.cpp -- a fast experimental compression program
  1062. *
  1063. * Copyright (C) 2013 Piotr Tarsa ( http://github.com/tarsa )
  1064. *
  1065. * This software is provided 'as-is', without any express or implied
  1066. * warranty. In no event will the author be held liable for any damages
  1067. * arising from the use of this software.
  1068. *
  1069. * Permission is granted to anyone to use this software for any purpose,
  1070. * including commercial applications, and to alter it and redistribute it
  1071. * freely, subject to the following restrictions:
  1072. *
  1073. * 1. The origin of this software must not be misrepresented; you must not
  1074. * claim that you wrote the original software. If you use this software
  1075. * in a product, an acknowledgment in the product documentation would be
  1076. * appreciated but is not required.
  1077. * 2. Altered source versions must be plainly marked as such, and must not be
  1078. * misrepresented as being the original software.
  1079. * 3. This notice may not be removed or altered from any source distribution.
  1080. *
  1081. */
  1082.  
  1083. #include <algorithm>
  1084.  
  1085. #include <cassert>
  1086. #include <cstdint>
  1087. #include <cstdio>
  1088. #include <cstdlib>
  1089. #include <cstring>
  1090.  
  1091. #define MAX_BLOCK_SIZE (1 << 20)
  1092.  
  1093. #if MAX_BLOCK_SIZE % 4 != 0
  1094. #error Max block size must contain integral number of chunks
  1095. #endif
  1096.  
  1097. #define FAST_MODE_MARKER 1
  1098. #define GOOD_MODE_MARKER 2
  1099. #define TAG_SIZE_FAST 2
  1100. #define TAG_SIZE_GOOD 3
  1101. #define CHUNKS_PER_SIGNATURE_FAST (32 / TAG_SIZE_FAST)
  1102. #define CHUNKS_PER_SIGNATURE_GOOD (32 / TAG_SIZE_GOOD)
  1103.  
  1104. #define restrict __restrict__
  1105.  
  1106. typedef uint32_t chunk_t;
  1107.  
  1108. typedef struct {
  1109. chunk_t dictionary[1 << 16][2];
  1110. chunk_t predictions[1 << 16];
  1111. chunk_t smallDictionary[1 << 10];
  1112. uint32_t lastHash;
  1113. #ifndef NDEBUG
  1114. bool initialized;
  1115. #endif
  1116. } workset_t;
  1117.  
  1118. int err(char const * const message) {
  1119. fputs(message, stderr);
  1120. fputs("\n", stderr);
  1121. return EXIT_FAILURE;
  1122. }
  1123.  
  1124. size_t fgetd(uint32_t * const value) {
  1125. return fread_unlocked(value, sizeof (uint32_t), 1, stdin);
  1126. }
  1127.  
  1128. size_t fputd(uint32_t const value) {
  1129. return fwrite_unlocked(&value, sizeof (uint32_t), 1, stdout);
  1130. }
  1131.  
  1132. size_t loadBlock(uint8_t * const buffer, size_t const toLoad) {
  1133. size_t bufferLoaded = 0;
  1134. while (bufferLoaded < toLoad && feof_unlocked(stdin) == 0
  1135. && ferror_unlocked(stdin) == 0) {
  1136. size_t const loaded = fread_unlocked(buffer + bufferLoaded,
  1137. sizeof (uint8_t), toLoad - bufferLoaded, stdin);
  1138. bufferLoaded += loaded;
  1139. }
  1140. return bufferLoaded;
  1141. }
  1142.  
  1143. uint32_t hashF(uint32_t const value) {
  1144. return value * 123456791u >> 16;
  1145. }
  1146.  
  1147. uint32_t reduceHash(uint32_t const bigHash) {
  1148. return bigHash >> 6;
  1149. }
  1150.  
  1151. int32_t compressBlockFast(chunk_t const * const inputChunksBuffer,
  1152. int32_t const inputChunksNumber, chunk_t * const signaturesBuffer,
  1153. uint8_t * const codeStreamBuffer, workset_t * const workset) {
  1154. int32_t codeStreamIndex = 0;
  1155. int32_t chunkNumber = 0;
  1156. int32_t signatureNumber = 0;
  1157. while (chunkNumber < inputChunksNumber) {
  1158. chunk_t signature = 0;
  1159. int32_t lastChunkInSlice = std::min(inputChunksNumber,
  1160. chunkNumber + CHUNKS_PER_SIGNATURE_FAST);
  1161. while (chunkNumber < lastChunkInSlice) {
  1162. chunk_t const chunk = inputChunksBuffer[chunkNumber++];
  1163. uint32_t const hash = hashF(chunk);
  1164. chunk_t * const prediction = workset->predictions
  1165. + workset->lastHash;
  1166. uint32_t selector = 3;
  1167. if (*prediction != chunk) {
  1168. chunk_t * const found = workset->dictionary[hash];
  1169. int8_t const equal_0 = found[0] == chunk;
  1170. int8_t const equal_1 = found[1] == chunk;
  1171. int8_t const equal_any = equal_0 || equal_1;
  1172. selector = equal_0 * 2 + equal_1;
  1173. found[1] = found[equal_0];
  1174. found[0] = chunk;
  1175. uint32_t const code = equal_any ? hash : chunk;
  1176. *(uint32_t *) (codeStreamBuffer + codeStreamIndex) = code;
  1177. codeStreamIndex += equal_any ? 2 : 4;
  1178. *prediction = chunk;
  1179. }
  1180. workset->lastHash = hash;
  1181. signature <<= TAG_SIZE_FAST;
  1182. signature |= selector;
  1183. }
  1184. if (chunkNumber == inputChunksNumber) {
  1185. int32_t const tagsInSignature = chunkNumber
  1186. % CHUNKS_PER_SIGNATURE_FAST;
  1187. if (tagsInSignature != 0) {
  1188. for (int32_t i = tagsInSignature; i < CHUNKS_PER_SIGNATURE_FAST;
  1189. i++) {
  1190. signature <<= TAG_SIZE_FAST;
  1191. }
  1192. }
  1193. }
  1194. signaturesBuffer[signatureNumber++] = signature;
  1195. }
  1196. assert(chunkNumber == inputChunksNumber);
  1197. assert(signatureNumber == (inputChunksNumber + CHUNKS_PER_SIGNATURE_FAST
  1198. - 1) / CHUNKS_PER_SIGNATURE_FAST);
  1199. assert(codeStreamIndex >= 0);
  1200. assert(codeStreamIndex <= inputChunksNumber * sizeof (chunk_t));
  1201. return codeStreamIndex;
  1202. }
  1203.  
  1204. int32_t compressBlockGood(chunk_t const * const inputChunksBuffer,
  1205. int32_t const inputChunksNumber, chunk_t * const signaturesBuffer,
  1206. uint8_t * const codeStreamBuffer, workset_t * const workset) {
  1207. int32_t codeStreamIndex = 0;
  1208. int32_t chunkNumber = 0;
  1209. int32_t signatureNumber = 0;
  1210. while (chunkNumber < inputChunksNumber) {
  1211. chunk_t signature = 0;
  1212. int32_t lastChunkInSlice = std::min(inputChunksNumber,
  1213. chunkNumber + CHUNKS_PER_SIGNATURE_GOOD);
  1214. while (chunkNumber < lastChunkInSlice) {
  1215. chunk_t const chunk = inputChunksBuffer[chunkNumber++];
  1216. uint32_t const hash = hashF(chunk);
  1217. chunk_t * const prediction = workset->predictions
  1218. + workset->lastHash;
  1219. uint32_t selector = 7;
  1220. if (*prediction != chunk) {
  1221. uint32_t const hashSmall = reduceHash(hash);
  1222. chunk_t * const foundSmall = workset->smallDictionary
  1223. + hashSmall;
  1224. int8_t const equalSmall = *foundSmall == chunk;
  1225. if (equalSmall) {
  1226. selector = hashSmall >> 8;
  1227. uint8_t const code = hashSmall;
  1228. codeStreamBuffer[codeStreamIndex++] = code;
  1229. } else {
  1230. chunk_t * const found = workset->dictionary[hash];
  1231. int8_t const equal_0 = found[0] == chunk;
  1232. int8_t const equal_1 = found[1] == chunk;
  1233. int8_t const equal_any = equal_0 || equal_1;
  1234. *foundSmall = equal_0 ? chunk : *foundSmall;
  1235. selector = 4 + equal_0 * 2 + equal_1;
  1236. found[1] = found[equal_0];
  1237. found[0] = chunk;
  1238. uint32_t const code = equal_any ? hash : chunk;
  1239. *(uint32_t *) (codeStreamBuffer + codeStreamIndex) = code;
  1240. codeStreamIndex += equal_any ? 2 : 4;
  1241. }
  1242. *prediction = chunk;
  1243. }
  1244. workset->lastHash = hash;
  1245. signature <<= TAG_SIZE_GOOD;
  1246. signature |= selector;
  1247. }
  1248. if (chunkNumber == inputChunksNumber) {
  1249. int32_t const tagsInSignature = chunkNumber
  1250. % CHUNKS_PER_SIGNATURE_GOOD;
  1251. if (tagsInSignature != 0) {
  1252. for (int32_t i = tagsInSignature; i < CHUNKS_PER_SIGNATURE_GOOD;
  1253. i++) {
  1254. signature <<= TAG_SIZE_GOOD;
  1255. }
  1256. }
  1257. }
  1258. signaturesBuffer[signatureNumber++] = signature;
  1259. }
  1260. assert(chunkNumber == inputChunksNumber);
  1261. assert(signatureNumber == (inputChunksNumber + CHUNKS_PER_SIGNATURE_GOOD
  1262. - 1) / CHUNKS_PER_SIGNATURE_GOOD);
  1263. assert(codeStreamIndex >= 0);
  1264. assert(codeStreamIndex <= inputChunksNumber * sizeof (chunk_t));
  1265. return codeStreamIndex;
  1266. }
  1267.  
  1268. int compress(bool const fastMode) {
  1269. fputc_unlocked(fastMode ? FAST_MODE_MARKER : GOOD_MODE_MARKER, stdout);
  1270.  
  1271. uint8_t * const inputBuffer = new uint8_t[MAX_BLOCK_SIZE
  1272. + sizeof (chunk_t)];
  1273. chunk_t * inputChunksBuffers[3] = {nullptr, nullptr, nullptr};
  1274. chunk_t * signaturesBuffers[3] = {nullptr, nullptr, nullptr};
  1275. uint8_t * codeStreamBuffers[3] = {nullptr, nullptr, nullptr};
  1276. workset_t * worksets[3] = {nullptr, nullptr, nullptr};
  1277. uint32_t inputChunksQuantities[3];
  1278. uint32_t signaturesQuantities[3];
  1279. uint32_t codeStreamsLengths[3];
  1280. inputChunksBuffers[0] = (chunk_t *) inputBuffer;
  1281.  
  1282. bool firstBlock = true;
  1283. bool fullBlock;
  1284. do {
  1285. size_t const inputBufferLoaded = loadBlock(inputBuffer, MAX_BLOCK_SIZE);
  1286. fullBlock = inputBufferLoaded == MAX_BLOCK_SIZE;
  1287. bool const onlyBlock = firstBlock && !fullBlock;
  1288.  
  1289. int32_t const iterations = fastMode ? 2 : 3;
  1290. for (int32_t iteration = 1; iteration <= iterations; iteration++) {
  1291. if (iteration == 1) {
  1292. inputChunksQuantities[0] = (inputBufferLoaded + sizeof (chunk_t)
  1293. - 1) / sizeof (chunk_t);
  1294. } else {
  1295. uint32_t const chunksPerSignature = (iteration != 2 || fastMode)
  1296. ? CHUNKS_PER_SIGNATURE_FAST : CHUNKS_PER_SIGNATURE_GOOD;
  1297. inputChunksQuantities[iteration - 1] =
  1298. (inputChunksQuantities[iteration - 2]
  1299. + chunksPerSignature - 1) / chunksPerSignature;
  1300. }
  1301. {
  1302. uint32_t const chunksPerSignature = (iteration != 1 || fastMode)
  1303. ? CHUNKS_PER_SIGNATURE_FAST : CHUNKS_PER_SIGNATURE_GOOD;
  1304. signaturesQuantities[iteration - 1] =
  1305. (inputChunksQuantities[iteration - 1]
  1306. + chunksPerSignature - 1) / chunksPerSignature;
  1307. }
  1308.  
  1309. if (firstBlock) {
  1310. if (iteration > 1) {
  1311. inputChunksBuffers[iteration - 1] =
  1312. signaturesBuffers[iteration - 2];
  1313. }
  1314. signaturesBuffers[iteration - 1] =
  1315. new chunk_t[signaturesQuantities[iteration - 1]];
  1316. codeStreamBuffers[iteration - 1] =
  1317. new uint8_t[(inputChunksQuantities[iteration - 1] + 1)
  1318. * sizeof (chunk_t)];
  1319. if (onlyBlock && iteration > 1) {
  1320. worksets[iteration - 1] = worksets[iteration - 2];
  1321. } else {
  1322. worksets[iteration - 1] = new workset_t;
  1323. }
  1324. workset_t * const workset = worksets[iteration - 1];
  1325. memset(workset->dictionary, 0, sizeof (workset->dictionary));
  1326. memset(workset->predictions, 0, sizeof (workset->predictions));
  1327. memset(workset->smallDictionary, 0,
  1328. sizeof (workset->smallDictionary));
  1329. workset->lastHash = 0;
  1330. #ifndef NDEBUG
  1331. workset->initialized = true;
  1332. #endif
  1333. }
  1334.  
  1335. #ifndef NDEBUG
  1336. assert(worksets[iteration - 1]->initialized);
  1337. #endif
  1338. codeStreamsLengths[iteration - 1] = (iteration != 1 || fastMode)
  1339. ? compressBlockFast(inputChunksBuffers[iteration - 1],
  1340. inputChunksQuantities[iteration - 1],
  1341. signaturesBuffers[iteration - 1],
  1342. codeStreamBuffers[iteration - 1], worksets[iteration - 1])
  1343. : compressBlockGood(inputChunksBuffers[iteration - 1],
  1344. inputChunksQuantities[iteration - 1],
  1345. signaturesBuffers[iteration - 1],
  1346. codeStreamBuffers[iteration - 1], worksets[iteration - 1]);
  1347.  
  1348. }
  1349.  
  1350. int32_t bestNumberOfIterations = 0;
  1351. {
  1352. uint32_t bestTotalSize = inputChunksQuantities[0]
  1353. * sizeof (chunk_t);
  1354. for (int32_t iteration = 1; iteration <= iterations; iteration++) {
  1355. uint32_t totalSize = signaturesQuantities[iteration - 1]
  1356. * sizeof (chunk_t);
  1357. for (int32_t iteration2 = 1; iteration2 <= iteration;
  1358. iteration2++) {
  1359. totalSize += codeStreamsLengths[iteration2 - 1];
  1360. }
  1361. if (totalSize < bestTotalSize) {
  1362. bestNumberOfIterations = iteration;
  1363. bestTotalSize = totalSize;
  1364. }
  1365. }
  1366. }
  1367.  
  1368. fputc_unlocked(bestNumberOfIterations, stdout);
  1369. fputd(inputChunksQuantities[0]);
  1370.  
  1371. if (bestNumberOfIterations == 0) {
  1372. fwrite_unlocked(inputChunksBuffers[0], sizeof (chunk_t),
  1373. inputChunksQuantities[0], stdout);
  1374. } else {
  1375. fwrite_unlocked(signaturesBuffers[bestNumberOfIterations - 1],
  1376. sizeof (chunk_t), signaturesQuantities[
  1377. bestNumberOfIterations - 1], stdout);
  1378. for (int32_t iteration = bestNumberOfIterations; iteration >= 1;
  1379. iteration--) {
  1380. fputd(codeStreamsLengths[iteration - 1]);
  1381. fwrite_unlocked(codeStreamBuffers[iteration - 1],
  1382. sizeof (uint8_t), codeStreamsLengths[iteration - 1],
  1383. stdout);
  1384. }
  1385. }
  1386.  
  1387. if (!fullBlock) {
  1388. size_t const remainingsLength = inputBufferLoaded
  1389. % sizeof (chunk_t);
  1390. fputc_unlocked(remainingsLength, stdout);
  1391. fwrite_unlocked(inputBuffer + inputBufferLoaded - remainingsLength,
  1392. sizeof (uint8_t), remainingsLength, stdout);
  1393. }
  1394.  
  1395. firstBlock = false;
  1396. } while (fullBlock);
  1397.  
  1398. return EXIT_SUCCESS;
  1399. }
  1400.  
  1401. int32_t decompressBlockFast(chunk_t const * const signaturesBuffer,
  1402. uint8_t const * const codeStreamBuffer, workset_t * const workset,
  1403. chunk_t * const outputChunksBuffer, int32_t const outputChunksNumber) {
  1404. int32_t codeStreamIndex = 0;
  1405. int32_t chunkNumber = 0;
  1406. int32_t signatureNumber = 0;
  1407. while (chunkNumber < outputChunksNumber) {
  1408. chunk_t signature = signaturesBuffer[signatureNumber++];
  1409. int32_t lastChunkInSlice = std::min(outputChunksNumber,
  1410. chunkNumber + CHUNKS_PER_SIGNATURE_FAST);
  1411. while (chunkNumber < lastChunkInSlice) {
  1412. uint32_t const selector = signature >> 30;
  1413. if (selector == 3) {
  1414. chunk_t const chunk = workset->predictions[workset->lastHash];
  1415. outputChunksBuffer[chunkNumber++] = chunk;
  1416. workset->lastHash = hashF(chunk);
  1417. } else if (selector) {
  1418. uint32_t const hash = *(uint16_t*) (codeStreamBuffer
  1419. + codeStreamIndex);
  1420. codeStreamIndex += 2;
  1421. chunk_t * const found = workset->dictionary[hash];
  1422. chunk_t const chunk = found[selector & 1];
  1423. uint8_t const equal_0 = selector >> 1;
  1424. found[1] = found[equal_0];
  1425. found[0] = chunk;
  1426. outputChunksBuffer[chunkNumber++] = chunk;
  1427. workset->predictions[workset->lastHash] = chunk;
  1428. workset->lastHash = hash;
  1429. } else {
  1430. chunk_t const chunk = *(chunk_t*) (codeStreamBuffer
  1431. + codeStreamIndex);
  1432. codeStreamIndex += 4;
  1433. outputChunksBuffer[chunkNumber++] = chunk;
  1434. uint32_t const hash = hashF(chunk);
  1435. chunk_t * const found = workset->dictionary[hash];
  1436. found[1] = found[0];
  1437. found[0] = chunk;
  1438. workset->predictions[workset->lastHash] = chunk;
  1439. workset->lastHash = hash;
  1440. }
  1441. signature <<= 2;
  1442. }
  1443. }
  1444. assert(chunkNumber == outputChunksNumber);
  1445. assert(signatureNumber == (outputChunksNumber + CHUNKS_PER_SIGNATURE_FAST
  1446. - 1) / CHUNKS_PER_SIGNATURE_FAST);
  1447. assert(codeStreamIndex >= 0);
  1448. assert(codeStreamIndex <= outputChunksNumber * sizeof (chunk_t));
  1449. return codeStreamIndex;
  1450. }
  1451.  
  1452. int32_t decompressBlockGood(chunk_t const * const signaturesBuffer,
  1453. uint8_t const * const codeStreamBuffer, workset_t * const workset,
  1454. chunk_t * const outputChunksBuffer, int32_t const outputChunksNumber) {
  1455. int32_t codeStreamIndex = 0;
  1456. int32_t chunkNumber = 0;
  1457. int32_t signatureNumber = 0;
  1458. while (chunkNumber < outputChunksNumber) {
  1459. chunk_t signature = signaturesBuffer[signatureNumber++] << 2;
  1460. int32_t lastChunkInSlice = std::min(outputChunksNumber,
  1461. chunkNumber + CHUNKS_PER_SIGNATURE_GOOD);
  1462. while (chunkNumber < lastChunkInSlice) {
  1463. uint32_t const selector = signature >> 29;
  1464. if (selector == 7) {
  1465. chunk_t const chunk = workset->predictions[workset->lastHash];
  1466. outputChunksBuffer[chunkNumber++] = chunk;
  1467. workset->lastHash = hashF(chunk);
  1468. } else if (selector < 4) {
  1469. uint32_t const hashSmall = (selector << 8)
  1470. | codeStreamBuffer[codeStreamIndex];
  1471. codeStreamIndex++;
  1472. chunk_t const chunk = workset->smallDictionary[hashSmall];
  1473. outputChunksBuffer[chunkNumber++] = chunk;
  1474. workset->predictions[workset->lastHash] = chunk;
  1475. workset->lastHash = hashF(chunk);
  1476. } else if (selector & 3) {
  1477. uint32_t const hash = *(uint16_t*) (codeStreamBuffer
  1478. + codeStreamIndex);
  1479. codeStreamIndex += 2;
  1480. chunk_t * const found = workset->dictionary[hash];
  1481. chunk_t const chunk = found[selector & 1];
  1482. uint8_t const equal_0 = !(selector & 1);
  1483. found[1] = found[equal_0];
  1484. found[0] = chunk;
  1485. uint32_t const hashSmall = reduceHash(hash);
  1486. workset->smallDictionary[hashSmall] = equal_0 ? chunk
  1487. : workset->smallDictionary[hashSmall];
  1488. outputChunksBuffer[chunkNumber++] = chunk;
  1489. workset->predictions[workset->lastHash] = chunk;
  1490. workset->lastHash = hash;
  1491. } else {
  1492. chunk_t const chunk = *(chunk_t*) (codeStreamBuffer
  1493. + codeStreamIndex);
  1494. codeStreamIndex += 4;
  1495. outputChunksBuffer[chunkNumber++] = chunk;
  1496. uint32_t const hash = hashF(chunk);
  1497. chunk_t * const found = workset->dictionary[hash];
  1498. found[1] = found[0];
  1499. found[0] = chunk;
  1500. workset->predictions[workset->lastHash] = chunk;
  1501. workset->lastHash = hash;
  1502. }
  1503. signature <<= 3;
  1504. }
  1505. }
  1506. assert(chunkNumber == outputChunksNumber);
  1507. assert(signatureNumber == (outputChunksNumber + CHUNKS_PER_SIGNATURE_GOOD
  1508. - 1) / CHUNKS_PER_SIGNATURE_GOOD);
  1509. assert(codeStreamIndex >= 0);
  1510. assert(codeStreamIndex <= outputChunksNumber * sizeof (chunk_t));
  1511. return codeStreamIndex;
  1512. }
  1513.  
  1514. int decompress() {
  1515. int32_t const modeMarker = fgetc_unlocked(stdin);
  1516. if (modeMarker != FAST_MODE_MARKER && modeMarker != GOOD_MODE_MARKER) {
  1517. return err("Invalid mode marker.");
  1518. }
  1519. bool const fastMode = modeMarker == FAST_MODE_MARKER;
  1520.  
  1521. uint8_t * const outputBuffer = new uint8_t[MAX_BLOCK_SIZE
  1522. + sizeof (chunk_t)];
  1523. chunk_t * outputChunksBuffers[3] = {nullptr, nullptr, nullptr};
  1524. chunk_t * signaturesBuffers[3] = {nullptr, nullptr, nullptr};
  1525. uint8_t * codeStreamBuffers[3] = {nullptr, nullptr, nullptr};
  1526. workset_t * worksets[3] = {nullptr, nullptr, nullptr};
  1527. uint32_t outputChunksQuantities[3];
  1528. uint32_t signaturesQuantities[3];
  1529. uint32_t codeStreamsLengths[3];
  1530. outputChunksBuffers[0] = (chunk_t *) outputBuffer;
  1531.  
  1532. bool firstBlock = true;
  1533. bool fullBlock;
  1534. do {
  1535. int32_t const maxIterations = fastMode ? 2 : 3;
  1536. int32_t const iterations = fgetc_unlocked(stdin);
  1537. assert(iterations >= 0);
  1538. assert(iterations <= maxIterations);
  1539. //fprintf(stderr, "%d\n", iterations);
  1540. fgetd(outputChunksQuantities + 0);
  1541. fullBlock = outputChunksQuantities[0] * sizeof (chunk_t)
  1542. == MAX_BLOCK_SIZE;
  1543. bool const onlyBlock = firstBlock && !fullBlock;
  1544.  
  1545. if (!fullBlock && iterations == 0) {
  1546. loadBlock((uint8_t*) outputChunksBuffers[0],
  1547. outputChunksQuantities[0] * sizeof (chunk_t));
  1548. } else {
  1549. for (int32_t iteration = 1; iteration <= maxIterations;
  1550. iteration++) {
  1551. if (iteration > 1) {
  1552. uint32_t const chunksPerSignature = (iteration != 2
  1553. || fastMode) ? CHUNKS_PER_SIGNATURE_FAST
  1554. : CHUNKS_PER_SIGNATURE_GOOD;
  1555. outputChunksQuantities[iteration - 1] =
  1556. (outputChunksQuantities[iteration - 2]
  1557. + chunksPerSignature - 1) / chunksPerSignature;
  1558. }
  1559. {
  1560. uint32_t const chunksPerSignature = (iteration != 1
  1561. || fastMode) ? CHUNKS_PER_SIGNATURE_FAST
  1562. : CHUNKS_PER_SIGNATURE_GOOD;
  1563. signaturesQuantities[iteration - 1] =
  1564. (outputChunksQuantities[iteration - 1]
  1565. + chunksPerSignature - 1) / chunksPerSignature;
  1566. }
  1567. }
  1568.  
  1569. if (firstBlock) {
  1570. int32_t const allocatedIterations = fullBlock
  1571. ? maxIterations : iterations;
  1572. for (int32_t iteration = 1; iteration <= allocatedIterations;
  1573. iteration++) {
  1574. if (iteration > 1) {
  1575. outputChunksBuffers[iteration - 1] =
  1576. signaturesBuffers[iteration - 2];
  1577. }
  1578. signaturesBuffers[iteration - 1] =
  1579. new chunk_t[signaturesQuantities[iteration - 1]];
  1580. codeStreamBuffers[iteration - 1] =
  1581. new uint8_t[(outputChunksQuantities[iteration - 1]
  1582. + 1) * sizeof (chunk_t)];
  1583. if (onlyBlock && iteration > 1) {
  1584. worksets[iteration - 1] = worksets[iteration - 2];
  1585. } else {
  1586. worksets[iteration - 1] = new workset_t;
  1587. }
  1588. #ifndef NDEBUG
  1589. worksets[iteration - 1]->initialized = false;
  1590. #endif
  1591. }
  1592. }
  1593.  
  1594. if (iterations == 0) {
  1595. fread_unlocked(outputChunksBuffers[0], sizeof (chunk_t),
  1596. outputChunksQuantities[0], stdin);
  1597. } else {
  1598. for (int32_t iteration = iterations; iteration >= 1;
  1599. iteration--) {
  1600. if (iteration == iterations) {
  1601. fread_unlocked(signaturesBuffers[iteration - 1],
  1602. sizeof (chunk_t),
  1603. signaturesQuantities[iteration - 1], stdin);
  1604. }
  1605. fgetd(codeStreamsLengths + iteration - 1);
  1606. fread_unlocked(codeStreamBuffers[iteration - 1],
  1607. sizeof (uint8_t), codeStreamsLengths[iteration - 1],
  1608. stdin);
  1609. if (firstBlock) {
  1610. workset_t * const workset = worksets[iteration - 1];
  1611. memset(workset->dictionary, 0,
  1612. sizeof (workset->dictionary));
  1613. memset(workset->predictions, 0,
  1614. sizeof (workset->predictions));
  1615. memset(workset->smallDictionary, 0,
  1616. sizeof (workset->smallDictionary));
  1617. workset->lastHash = 0;
  1618. #ifndef NDEBUG
  1619. workset->initialized = true;
  1620. #endif
  1621. }
  1622. int32_t decodedCodeStreamLength;
  1623. #ifndef NDEBUG
  1624. assert(worksets[iteration - 1]->initialized);
  1625. #endif
  1626. if (iteration != 1 || fastMode) {
  1627. decodedCodeStreamLength = decompressBlockFast(
  1628. signaturesBuffers[iteration - 1],
  1629. codeStreamBuffers[iteration - 1],
  1630. worksets[iteration - 1],
  1631. outputChunksBuffers[iteration - 1],
  1632. outputChunksQuantities[iteration - 1]);
  1633. } else {
  1634. decodedCodeStreamLength = decompressBlockGood(
  1635. signaturesBuffers[iteration - 1],
  1636. codeStreamBuffers[iteration - 1],
  1637. worksets[iteration - 1],
  1638. outputChunksBuffers[iteration - 1],
  1639. outputChunksQuantities[iteration - 1]);
  1640. }
  1641. if (decodedCodeStreamLength
  1642. != codeStreamsLengths[iteration - 1]) {
  1643. fprintf(stderr, "%d %d\n", decodedCodeStreamLength,
  1644. codeStreamsLengths[iteration - 1]);
  1645. }
  1646. assert(decodedCodeStreamLength
  1647. == codeStreamsLengths[iteration - 1]);
  1648. }
  1649. }
  1650.  
  1651. if (fullBlock) {
  1652. for (int32_t iteration = iterations + 1; iteration
  1653. <= maxIterations; iteration++) {
  1654. if (firstBlock) {
  1655. workset_t * const workset = worksets[iteration - 1];
  1656. memset(workset->dictionary, 0,
  1657. sizeof (workset->dictionary));
  1658. memset(workset->predictions, 0,
  1659. sizeof (workset->predictions));
  1660. memset(workset->smallDictionary, 0,
  1661. sizeof (workset->smallDictionary));
  1662. workset->lastHash = 0;
  1663. #ifndef NDEBUG
  1664. workset->initialized = true;
  1665. #endif
  1666. }
  1667. #ifndef NDEBUG
  1668. assert(worksets[iteration - 1]->initialized);
  1669. #endif
  1670. if (iteration != 1 || fastMode) {
  1671. compressBlockFast(outputChunksBuffers[iteration - 1],
  1672. outputChunksQuantities[iteration - 1],
  1673. signaturesBuffers[iteration - 1],
  1674. codeStreamBuffers[iteration - 1],
  1675. worksets[iteration - 1]);
  1676. } else {
  1677. compressBlockGood(outputChunksBuffers[iteration - 1],
  1678. outputChunksQuantities[iteration - 1],
  1679. signaturesBuffers[iteration - 1],
  1680. codeStreamBuffers[iteration - 1],
  1681. worksets[iteration - 1]);
  1682. }
  1683. }
  1684. }
  1685. }
  1686.  
  1687. fwrite_unlocked(outputChunksBuffers[0], sizeof (chunk_t),
  1688. outputChunksQuantities[0], stdout);
  1689.  
  1690. if (!fullBlock) {
  1691. size_t const remainingsLength = fgetc(stdin);
  1692. uint8_t smallBuffer[4];
  1693. fread_unlocked(smallBuffer, sizeof (uint8_t), remainingsLength,
  1694. stdin);
  1695. fwrite_unlocked(smallBuffer, sizeof (uint8_t), remainingsLength,
  1696. stdout);
  1697. }
  1698.  
  1699. firstBlock = false;
  1700. } while (fullBlock);
  1701.  
  1702. return EXIT_SUCCESS;
  1703. }
  1704.  
  1705. int main(int const argc, char const * const * const argv) {
  1706. err("Chunker -- fast compression utility");
  1707. err("Author: Piotr Tarsa ( http://github.com/tarsa )");
  1708. err("Release date: January, 2013");
  1709. err("");
  1710.  
  1711. if (argc != 2 || (strcmp(argv[1], "cf") != 0 && strcmp(argv[1], "cx") != 0
  1712. && strcmp(argv[1], "d") != 0)) {
  1713. err("Usage: <program name> [cf|cx|d] < input > output");
  1714. return EXIT_FAILURE;
  1715. }
  1716.  
  1717. int result;
  1718. if (strcmp(argv[1], "d") == 0) {
  1719. result = decompress();
  1720. } else {
  1721. result = compress(strcmp(argv[1], "cf") == 0);
  1722. }
  1723. err("Done.");
  1724. return result;
  1725. }
  1726. </code>
  1727.  
  1728. Szkopu? w tym, ?e jak wy??cz? "rekurencyjn?" kompresj? sygnatur, podmieniaj?c w metodzie compress linijk?:
  1729. <code>int32_t const iterations = fastMode ? 2 : 3;</code>
  1730. na:
  1731. <code>int32_t const iterations = fastMode ? 1 : 1;</code>
  1732. To wtedy hula.
  1733.  
  1734. Pr▒bowa?em dzia?a? Valgrindem i nie wykry? ?adnych problem▒w. Doda?em troch? assert▒w i pu?ci?em - one te? generalnie nie pomog?y wiele, bo dostaj? tylko ?e (przy pr▒bie na pliku enwik9 st?d: http://mattmahoney.net/dc/textdata.html ):
  1735. <code>chunker: chunker.cpp:588: int decompress(): Assertion `decodedCodeStreamLength == codeStreamsLengths[iteration - 1]' failed.</code>
  1736.  
  1737. Kod mam zamiar opublikowa?. Jak kto? znajdzie buga to w nagrod? dam mu creditsa, tzn napisz? w komentarzu u g▒ry kodu, ?e znalaz? buga :)
  1738.  
  1739.  
  1740. Kompresja dzia?a w taki spos▒b, ?e strumie? jest dzielony na bloki. Dla ka?dego bloku po kompresji powstaj? dwa bloki wyj?ciowe: blok sygnatur i blok innych danych (w kodzie nazwany codeStream). Je?li iterations jest wi?ksze od 1 to blok sygnatur jest kompresowany rekurencyjnie. I w?a?nie ta kompresja rekurencyjna nie dzia?a dobrze.
  1741.  
  1742.  
  1743. Jak algorytm dzia?a na niskim poziomie? Dane s? dzielone na 4-bajtowe kawa?ki, nast?pnie hashowane. Jest jeden lub dwa s?owniki wielopoziomowe (tzn dla danego hasha jest ca?y zbi▒r element▒w w s?owniku) oraz tablica predykcji kawa?k▒w (kt▒ra podaje po prostu nast?pny kawa?ek z poprzedniego wyst?pienia aktualnie przerabianego kawa?ka). Sygnatura sk?ada si? z tag▒w, gdzie ka?dy tag odpowiada jednemu kawa?kowi i opisuje czy kawa?ek zosta? znaleziony w s?owniku (a je?li tak to w kt▒rym s?owniku i kt▒rym elemencie w zbiorze), tabeli predykcji albo nigdzie (brak kompresji). Do bloku codeStream id? zar▒wno dane nieskompresowane jak i hashe (ma?e i du?e).
  1744.  
  1745.  
  1746. Mo?e jest tu jaki? trywialny b??d kt▒rego nie zauwa?y?em. Albo mo?e kto? ma pomys? jak by go szybko znale???
  1747. from_unixtime(post_time): 2014-01-09 19:31:54
  1748. *************************** 118. row ***************************
  1749. post_id: 1003506
  1750. text_content: W czym pisa? CV? Jakie s? wady i zalety poszczeg▒lnych rozwi?za? (do g?owy przychodz? mi dwa - LaTeX lub Word, przy czym do pierwszego mo?na podej?? na wiele sposob▒w)? Kiedy warto wybra? konkretne rozwi?zanie (uwzgl?dniaj?c np czas)? Gdzie mo?na znale?? przyzwoite gotowe szablony, ?eby szybko z?o?y? CV?
  1751.  
  1752. Co napisa? w CV? Na co pracodawcy zwracaj? uwag? i ceni? to, a co jest zwyk?ym rozpraszaczem albo wr?cz obni?a ocen? w oczach pracodawcy?
  1753. from_unixtime(post_time): 2014-01-13 14:12:38
  1754. *************************** 119. row ***************************
  1755. post_id: 1013256
  1756. text_content: Nie ma podforum dla zagadek wi?c wrzucam tutaj.
  1757.  
  1758. Problem w kt▒rym mamy 8 kulek i jedn? kulk? ci??sz? (b?d? l?ejsz?) jest powszechnie znany w Googlu :P
  1759.  
  1760. Natomiast ci??ko mi znale?? rozwi?zanie dla wariantu gdzie jest 8 kulek i jedna wa?y mniej lub wi?cej, tzn nie wiadomo w kt▒r? stron? jest r▒?nica. Mi wysz?o ?e 3 wa?enia wystarcz? by wykry? t? kulk? wraz z informacj? czy jest l?ejsza czy ci??sza.
  1761.  
  1762. Pytanie g?▒wne natomiast jest takie: jaka jest z?o?ono?? problemu (tego trudniejszego), tzn dla X kulek jaka jest minimalna liczba wa?e? by wykry? kulk? o odstaj?cej wadze?
  1763.  
  1764. Dla problemu gdzie wiemy czy kulka jest ci??sza czy l?ejsza wydaje mi si?, ?e minimalna liczba krok▒w to sufit(log_3(x)). Pytanie jaka jest liczba krok▒w dla trudniejszego wariantu (tzn nie wiemy czy odstaj?ca kulka jest ci??sza czy l?ejsza)?
  1765. from_unixtime(post_time): 2014-02-19 01:07:00
  1766. *************************** 120. row ***************************
  1767. post_id: 1014190
  1768. text_content: Kontynuuj?c questa z now? prac? napotka?em kolejne w?tpliwo?ci :P
  1769.  
  1770. G?▒wny problem: jak? form? zatrudnienia wybra??
  1771.  
  1772. Oto co zrozumia?em z neta w przypadku pracy programisty (czyli tutaj jest chyba ta mo?liwo?? wyboru 50% koszt▒w uzyskania przychodu):
  1773.  
  1774. Przy samozatrudnieniu trzeba odprowadza? VAT (?), a tak?e sk?adki ZUSowskie, kt▒re przez pierwsze dwa lata s? ni?sze ni? p▒?niej oraz podatek dochodowy. ?eby si? op?aca?o to chyba trzeba kombinowa? z wliczaniem zakup▒w w koszty, wtedy podatek dochodowy si? zmniejsza. Trzeba te? zleci? komu? prowadzenie ksi?gowo?ci.
  1775.  
  1776. Przy umowie o dzie?o jest 9% podatek + sk?adki ZUSowskie. Czy te sk?adki s? obowi?zkowe? W jakiej wysoko?ci? Czy te? jest zni?ka jak przy dzia?alno?ci gospodarczej?
  1777.  
  1778. Umowy zlecenie s? chyba dzisiaj osk?adkowane ca?kowicie i nie ma du?ych oszcz?dno?ci vs praca na etat. Natomiast odpada urlop, a urlop dla etatowc▒w to jakie? 10% czasu pracy.
  1779.  
  1780. Odk?adanie na pa?stwow? emerytur? mnie (przynajmniej na razie) nie interesuje, tzn to bym obci?? tak mocno jak tylko mo?liwe. Interesuj? mnie za to pozosta?e sk?adki - czy w jakiejkolwiek formie zatrudnienia jest tak, ?e np ma si? utrudniony lub uniemo?liwiony dost?p do opieki medycznej, renty, wynagrodzenia chorobowego, itd? Je?li tak to w jakim stopniu?
  1781.  
  1782. Jakie s? wielko?ci sk?adek i podatk▒w w przypadku samozatrudnienia a jakie w przypadku umowy o dzie?o?
  1783.  
  1784.  
  1785. Kolejny problem to czy obni?ony ZUS da si? przenie?? przy zmianie formy zatrudnienia? Tzn za?▒?my, ?e wybieram umow? o dzie?o jako osoba fizyczna (chyba tak to si? okre?la) i p?ac? obni?one sk?adki ZUS (trzeba? mo?na?), a nast?pnie przechodz? na dzia?alno?? gospodarcz?, bo np mam zlecenie lub chc? co? sprzedawa? jako firma. Czy dalej mog? p?aci? obni?ony ZUS?
  1786.  
  1787.  
  1788. Mo?e troch? g?upie pytanie ale nie jestem pewien na 100%: czy mi?dzy dzia?alno?ci? gospodarcz?, a firm?/ przedsi?biorstwem jest jaka? r▒?nica czy mo?e to synonimy?
  1789.  
  1790.  
  1791. Ponadto wyczyta?em ?e w przypadku niekt▒rych um▒w odpowiada si? za ewentualne szkody ca?ym swoim maj?tkiem. W kt▒rych?
  1792. from_unixtime(post_time): 2014-02-22 22:24:05
  1793. *************************** 121. row ***************************
  1794. post_id: 1049828
  1795. text_content: Jestem sobie postem....
  1796. from_unixtime(post_time): 2014-07-15 15:28:23
  1797. *************************** 122. row ***************************
  1798. post_id: 1051493
  1799. text_content: Skoro ju? Coyote czerpie pe?nymi gar?ciami ze StackExchange :] to mo?na by i wprowadzi? funkcj? oznaczania duplikat▒w przez dobrze wypunktowanych u?ytkownik▒w (w sensie z boku w?tku pokaza? list? w?tk▒w o tym samym). Sporo temat▒w si? duplikuje, a automatycznie nie ma jak tego sprawdzi?. Wstawianie w ?rodek w?tku posta informacji, ?e w?tek jest zduplikowany powoduje, ?e duplikacja nie jest oczywista dla mniej uwa?nego czytelnika.
  1800. from_unixtime(post_time): 2014-07-23 08:01:33
  1801. *************************** 123. row ***************************
  1802. post_id: 1055503
  1803. text_content: Jak w temacie. Przez to ?e ikonka jest po prawej stronie (daleko od zak?adek), czasem nie zauwa?am ?e jej nie mam i np loguj? si? na FB bez trybu incognito :P
  1804.  
  1805. Ewentualnie wystarczy?by jaki? inny spos▒b na wyr▒?nienie trybu incognito, bo sk▒rk? mam tak? sam? z incognito i bez.
  1806. from_unixtime(post_time): 2014-08-10 14:23:58
  1807. *************************** 124. row ***************************
  1808. post_id: 1058546
  1809. text_content: Mam ochot? na ortokorekcj? (bo coraz bardziej ?lepn?), ale szukaj?c po necie nie mog? znale?? nic w Krakowie.
  1810.  
  1811. Czy kto? na tym forum korzysta z soczewek ortokorekcyjnych? :) Jakie s? wra?enia?
  1812. Zna kto? jaki? gabinet w Krk lub okolicach i mo?e poleci? (opisa?)?
  1813. from_unixtime(post_time): 2014-08-23 18:58:43
  1814. *************************** 125. row ***************************
  1815. post_id: 1077467
  1816. text_content: Oficjalnie.
  1817.  
  1818. CEO powiedzia?, ?e jest homo.
  1819. from_unixtime(post_time): 2014-10-31 08:50:59
  1820. *************************** 126. row ***************************
  1821. post_id: 1079781
  1822. text_content: Nagranie z monitoringu: https://www.youtube.com/watch?v=TBJldvf6jEU
  1823. from_unixtime(post_time): 2014-11-06 21:50:43
  1824. *************************** 127. row ***************************
  1825. post_id: 1099860
  1826. text_content: Wiem jak to przet?umaczy? dos?ownie, ale mam silne przeczucie, ?e kiedy? zna?em idiom kt▒ry znaczy? dok?adnie to samo, chocia? nie m▒wi? nic o jab?kach czy pomara?czach. Kto?▒ma jaki? pomys??
  1827. from_unixtime(post_time): 2015-01-08 20:01:41
  1828. *************************** 128. row ***************************
  1829. post_id: 1106790
  1830. text_content: Nowa wersja Tridenta od Microsoftu podszywa si?▒pod Google Chrome: http://pclab.pl/news61625.html
  1831.  
  1832. Kabaret z User-Agentami w?a?nie wszed? na nowy poziom absurdu. Mo?e nied?ugo b?d? Service Packi z nowymi zestawami User-Agent▒w?
  1833.  
  1834. Ciekawe czy frontendowcy si? uciesz?? :P
  1835. from_unixtime(post_time): 2015-01-26 08:47:13
  1836. 128 rows in set (0.00 sec)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement