2010-10-24:

Ciekawostki #4

press
Wraz z rozpoczęciem cyklu ciekawostek założyłem sobie "notatnik" (ofc w formie elektronicznej) w którym zapisuje rzeczy które mnie zaciekawiły. Notatek zrobiło się tam całkiem sporo, więc chyba czas na kolejny post z tego cyklu.

-=*) Hacking
Tavis znalazł dwa bardzo ciekawe vulny w loaderze DSO glib (oba powiązane z LD_AUDIT). Lektura obowiązkowa!
http://seclists.org/fulldisclosure/2010/Oct/257
http://seclists.org/fulldisclosure/2010/Oct/344

-=*) Hacking
Marcin "Icewall" Noga (z którym miałem przyjemność pracować w Hispasec) opublikował bardzo ciekawy research związany z maksymalną długością ścieżek pod Windowsem (okazuje się, że limit jest dużo wyższy niż 255 znaków). Icewall sprawdził również na ile różne antywirusy obsługują długie ścieżki i rezultaty są dość krwawe ;p. Zachęcam do lektury, szczególnie osoby zainteresowane Windowsem.
http://www.icewall.pl/2010/10/15/maksymalna-dlugosc-sciezki-pod-windows%E2%80%99em/ - post na blogu z kilkoma ciekawymi screenami
http://www.icewall.pl/download/longpaths.pdf - opublikowany research paper

-=*) Hacking
Lcamtuf wrzucił bardzo ciekawego posta o możliwości "kradzieży" treści stron przez bardzo sprytne użycie pewnej formy bardzo rozwiniętego clickjackingu. Lektura obowiązkowa.
http://lcamtuf.blogspot.com/2010/10/attack-of-monster-frames-mini.html

-=*) Code
Dostałem od furia nielada ciekawostkę: oto Marc Kerbiquet stworzył liba do XML w... assembly :). Respect za chęci, oraz za szybkość (strach pomyśleć co by było gdyby lib dodatkowo korzystał z opcode'ów PSTRxCMPy z SSE 4.2).
http://tibleiz.net/asm-xml/benchmark.html

-=*) Elektronika
Home made MP3WAV-player:
http://hackaday.com/2010/10/17/homemade-music-player/

-=*) Hacking
Zbiór publikacji, slajdów, nagrań video, etc o tematyce hacking/security. Coś pięknego :)
http://secdocs.lonerunners.net/

-=*) Other
Pamiętacie mój post o wyborze studiów a oczekiwaniach rynku pracy? Widziałem ostatnio ogłoszenie o pracę które ślicznie podsumowuje cały post (fragment poniżej):
Please do not send typical resumes: don't write about schools you finished, certificates you obtained, driving license, scuba trainings, etc. We are only interested in a short bio (keep it below 100 words please), and links to your past or current projects.
Sama oferta zresztą bardzo ciekawa.

-=*) Assembly
Aktualne listy czasu wykonania poszczególnych instrukcji x86 na różnych procesorach (link dostałem bodajże na ##asm na freenode, niestety, nie pamiętam od kogo ;<).
http://www.agner.org/optimize/instruction_tables.pdf

-=*) Assembly
Skoro już przy assembly x86 jestem... wyszła (jakiś czas temu) uaktualniona wersja papierka do którego dość często zaglądam, a traktującego o konwencjach wywołania funkcji (cdecl, fastcall, etc). Zachęcam do zapoznania się jeśli jeszcze tego nie widzieliście.
www.agner.org/optimize/calling_conventions.pdf

-=*) Low-level
Ciekawy post na blogu Petera Ferrie o VMce znalezionej w pewnej grze sprzed wielu lat.
http://blogs.technet.com/b/mmpc/archive/2010/10/08/prehistoric-virtual-machines.aspx

-=*) Other
Natknąłem się na listę ANSI escape codes obsługiwanych przez xterm. Hmm, wygląda na to, że będę musiał mój ansi hack trochę upgradenąć :)
http://home.comcast.net/~urbanjost/CLONE/UNIX_SCRIPTS/scripts_xterm/html/escape.txt

-=*) Science
Tzw. programowalne magnesy, to ci dopiero cudo :)
http://science.slashdot.org/story/10/10/22/1220230/Programmable-Magnets?from=hell

-=*) Other
Artykuł o publikowaniu książki samodzielnie przez autora, w postaci e-booka (a później drukowanej). Artykuł odpowiedział na pewną kwestie która mnie dręczyła - czemu e-booki są takie drogie, skoro odpada drukowanie, papier, tusz, etc... (spoiler: przez niektóre wydawnictwa).
http://www.huffingtonpost.com/ja-konrath/ebooks-and-self-publishing_b_764516.html

-=*) Prawo, Finanse
Dwa bardzo ciekawe wyroki, ofc opis na blogu Vagli:
http://prawo.vagla.pl/node/9234
http://prawo.vagla.pl/node/9235

-=*) Hacking, Code
I na koniec, kapitalny cytat wykopany gdzieś przez j00ru:
There are only two hard problems in Computer Science: cache invalidation, naming things, and off-by-one errors.

I tyle :)

Comments:

2010-10-24 02:46:30 = Tomasz Kowalczyk
{
Zbiór bardzo ciekawy - ja zapisuję sobie w ten sposób tematy na wpisy, w tym momencie czeka już jakieś 3 ekrany, po linijce na jeden pomysł, a monitor mam całkiem spory. ;]
}
2010-10-24 12:33:45 = Malcom
{
Ten AsmXml wydaje sie ciekawy ;)
}
2010-10-24 14:33:04 = MSM
{
Zastanawiam się jak Wy znajdujecie takie ciekawostki? (z wszystkich wcześniej znałem tylko artykuł o długości ścieżek w windowsie.)

Zapowiada się dużo do czytania :)
}
2010-10-24 15:23:02 = Tomasz Kowalczyk
{
@MSM - Algorytm jest bardzo prosty, załóżmy że w tym przypadku akurat Gynvael podaje nam newsy które sam wygrzebał z zakamarków Sieci, ale może być to każdy inny blog z "agregującymi" wpisami. Otwierasz linki które Ciebie interesują i jeśli faktycznie są dobre, to otwierasz stronę główną i patrzysz, czy inne wpisy też są w miarę ciekawe. Jeśli są - dodajesz do czytnika RSS. Blogi, które zasubskrybowałeś także udostępniają co jakiś czas wpisy agregujące, więc rekurencyjnie wywołujesz otwieranie i sprawdzanie poziomu materiałów i dodawanie do czytnika RSS dla każdego z nich. W ten sposób po kilku iteracjach masz już pokaźną listę stron, które dostarczają Ci materiałów dla Czytelników. ;]
}
2010-10-24 19:44:51 = Gynvael Coldwind
{
@Tomasz Kowalczyk, MSM
Ad algorytm, a raczej źródła ciekawotek, to trafiłeś w dziesiątkę :) Do tego dorzuciłbym jeszcze linki które otrzymuje od znajomych, i mamy całkiem niezłe źródło ciekawych linków.
Problem z nimi jest taki, że jest ich baardzo dużo. Tak więc wrzucam tylko te, które mnie osobiście, zainteresowały :)

@Malcom
Ano :) Fajny kwałek kodu ;>

}
2010-10-24 21:55:56 = pomocnik_murarza
{
Zgodnie z tym algorytmem jestem subskrybentem niniejszego feeda ;-)
}
2010-10-25 01:33:56 = przemoc
{
No, no... coraz ciekawsze te ciekawostki się robią. ;)
Nie wszystko mi obce tutaj, ale pewnie dalej będzie jeszcze lepiej. Pamiętaj, #100 odcinek ma nas powalić!

Na Asm-Xml trafiłem już jakiś czas temu (chyba właśnie w 2008), ale obsługa tylko x86 w dzisiejszych czasach to już trochę mało. Poza tym AFAIK jest trochę więcej parserów (część jest wymieniona np. na wikipedii: http://en.wikipedia.org/wiki/Category:XML_parsers), więc przydałoby się trochę więcej punktów odniesienia w tym benchmarku.
Agner to w zasadzie postać, której wszystkie materiały warto chociaż przejrzeć. Lub pamiętać, że pisał coś na taki czy inny temat by potem, w razie potrzeby, po to sięgnąć. Szkoda tylko, że ten jego blogotwór jest taki odpychający i nie RSS/Atom-friendly (chociaż ostatnimi czasy i tak nic tam się nie pojawia). ;)
}
2010-10-25 08:54:04 = Furio
{
@przemoc

Z paserami XML jest tak, że nie najważniejsza jest prędkość. Dużo bardziej istotne jest wsparcie różnych zabawek czyniącym XML'a używalnym.

If You Don't Need XML, Then Don't Use It! :> Więc jeśli chcesz tylko przeczytać XML'a to lepiej zmienić go na coś innego :P.

Na co dzień mam do czynienia z gigabajtami XML'i i gdyby nie xslt 2.0, XQuery 2.0 itp to zysk z używania XML w tym systemie by nie istniał. No może szpan przed kumplami :P

Więc nie zawsze szybkość jest najistotniejsza :)

Swoja drogą - czy jest coś a'la xslt dla JSON'a ??




}
2010-10-25 09:23:04 = Tomasz Kowalczyk
{
Z tego co widziałem w necie, to jedyna droga wiedzie przez JSON -> XML -> XSLT. Nie znalazłem żadnych bibliotek do jakichkolwiek "transformacji" JSON.
}
2010-10-25 13:18:56 = przemoc
{
@Furio
Pełna zgoda, ale twórca AsmXml raczej celował w wydajność, więc w tym duchu się odniosłem do tego, co sam prezentuje na stronie.
Ja osobiście XML-i raczej unikam, choć jestem świadom i nie neguję potencjału kryjącego się za maszynowym odczytem (no bo porządne XML-e są zazwyczaj tak rozbudowane, że rzadko kiedy pozostają naprawdę czytelne dla ludzi (nawet w FullHD) wbrew jednemu z XML-owych powołań), dającym możliwość wyłuskiwania i transformacjami, o których wspomniałeś.

Co do JSON-owych transformacji to można zajrzeć np. tutaj:
http://goessner.net/articles/jsont/ - http://goessner.net/download/prj/jsont/
https://www.p6r.com/articles/2008/05/06/xslt-and-xpath-for-json/ - jak P6R podeszło do sprawy pożenienia XSLT z JSON

Przy okazji można także wspomnieć o innym projekcie Goessnera.
http://code.google.com/p/jsonpath/
}
2010-10-26 11:07:52 = Gynvael Coldwind
{
@pomocnik_murarza
;)

@przemoc
Przyznaje, że na blog agnera wcześniej nie trafiłem. Ale widać trzeba się poważniej zainteresować ;)
}
2010-10-29 00:53:07 = tanatos
{
Jeśli chodzi o mini mp3 player, to istnieje nawet lepszy Polski projekt. Zwie się _tmp_ (tiny mp3 player). Oryginalnie opis tego urządzenia znajdował się na stronie pewnego Polaka, który jest też nota-bene autorem jakże świetnej aplikacji (ekg): http://toxygen.net/tmp/ jednak widzę, że strona od jakiegoś czasu już nie działa. Można spróbować zajrzeć do archiwum (jednak bez obrazków): http://web.archive.org/web/20080611230908/http://toxygen.net/tmp/

Na szczęście jakiś czas temu zrobiłem jej kopię na swój komputer, więc gdyby ktoś chciał schemat czy źródła, mogę podesłać na maila. Ja już ponad rok temu zebrałem wszystkie potrzebne części (najtrudniej było dostać układ dekodujący mp3) i "wydrukowałem" płytkę, jednak ze względu na studia nie było czasu na dokończenie projektu. Mimo wszystko już wkrótce postaram się go dokończyć, bo przecież nie będę kupował jakichś ajpodów :)
}

Add a comment:

Nick:
URL (optional):
Math captcha: 10 ∗ 5 + 5 =