<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2797923531103204252</id><updated>2012-01-19T07:29:30.068+01:00</updated><category term='Python'/><category term='Network'/><category term='Asychrony'/><category term='Riddle'/><category term='Performance'/><category term='Social networks'/><category term='Messaging'/><category term='Django'/><category term='Filesystems'/><category term='Linux'/><category term='Motoman'/><category term='Nmap'/><category term='GoogleAppEngine'/><category term='Security'/><category term='Algorithms'/><category term='Idea'/><category term='Web'/><category term='Erlang'/><title type='text'>Majek's technical blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default?start-index=101&amp;max-results=100'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>113</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-2721308794904294898</id><published>2010-05-29T12:43:00.004+02:00</published><updated>2010-06-01T03:10:48.799+02:00</updated><title type='text'>Ipad thoughts</title><summary type='text'>A quick bunch of fresh thoughts on Ipad (I had no experience with Iphone):That the machine you'd like to take with you to the toilet or to the kitchen.  Laptops are just too big.Yes, one doesn't know where to tap/click.  I didn't know where to tap to buy app on Appstore!I'm missing the back button very much. Maybe that will go away when multitasking comes in.The back button in Safari is very far </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/2721308794904294898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=2721308794904294898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2721308794904294898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2721308794904294898'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2010/05/ipad-thoughts.html' title='Ipad thoughts'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-1005342589294220342</id><published>2010-03-01T12:41:00.001+01:00</published><updated>2010-03-01T12:43:20.612+01:00</updated><title type='text'>Memory matters - even in Erlang</title><summary type='text'>I played with pretty interesting bug, or maybe a feature, in Erlang VM. Read more on LShift blog.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/1005342589294220342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=1005342589294220342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1005342589294220342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1005342589294220342'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2010/03/memory-matters-even-in-erlang.html' title='Memory matters - even in Erlang'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-1155342660823944962</id><published>2010-01-07T19:15:00.002+01:00</published><updated>2010-01-07T19:28:46.670+01:00</updated><title type='text'>Search in the versioned world</title><summary type='text'>Whatever you are using: a blog, a portal, a forum or microblogging service, search works on current set of documents.If I remove my last blog post, I expect a search to omit it in the search results. Search ought to include only the most recent state of documents. But what if you can navigate through the history of  document? What should appear in the search? We are used to see only the most </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/1155342660823944962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=1155342660823944962' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1155342660823944962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1155342660823944962'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2010/01/search-in-versioned-world.html' title='Search in the versioned world'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-4790641583890309750</id><published>2009-12-05T17:55:00.003+01:00</published><updated>2009-12-05T18:08:35.877+01:00</updated><title type='text'>Undusting the blog</title><summary type='text'>It's time to undust this blog a bit. Here is the list of my recent posts on LShift blog, with a word of comment:Introducing RabbitMQ-Status plugin. Well, this plugin is intended to help sysadmins understand what's happening inside Rabbit. Stupid, simple, robust: the way sysadmin stuff should be.Python Quirks. My rant about Python language. I like Python in general, but it has some dark corners </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/4790641583890309750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=4790641583890309750' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4790641583890309750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4790641583890309750'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2009/12/undusting-blog.html' title='Undusting the blog'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-985322781112324641</id><published>2009-08-27T01:16:00.004+02:00</published><updated>2009-08-27T02:00:43.310+02:00</updated><title type='text'>Paypal/Ebay are broken</title><summary type='text'>I just spent more than an hour trying to buy a thing from Ebay. I'm really pissed off. In short words: Fuck you ebay.So the story goes like that:I found an itemI clicked "buy it now". So far, so good.They want me to register on ebay. I don't want yet-another-password and yet-another-stupid-user-name. Why the hell do I need that for? I'm trying to buy a thing, not an insurance. Why do you need my </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/985322781112324641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=985322781112324641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/985322781112324641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/985322781112324641'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2009/08/paypalebay-are-broken.html' title='Paypal/Ebay are broken'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/SpXGCKQqbcI/AAAAAAAABsg/iAHw1RlElYc/s72-c/Picture+13.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-4471993818460304887</id><published>2009-06-01T16:38:00.002+02:00</published><updated>2009-06-01T16:42:40.418+02:00</updated><title type='text'>Memcached protocol is not enough</title><summary type='text'>For some time I'm trying to hack together a prototype of real-time-full-text-search-engine (RTFTSE!). I used a memcached-binary protocol as a communication protocol between backends and storage-nodes.This is a pretty nice protocol and in fact there are strong reasons not to use ascii memcache protocol.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/4471993818460304887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=4471993818460304887' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4471993818460304887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4471993818460304887'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2009/06/memcached-protocol-is-not-enough.html' title='Memcached protocol is not enough'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-4370326372434515898</id><published>2009-05-19T13:57:00.003+02:00</published><updated>2009-05-19T14:03:27.981+02:00</updated><title type='text'>The ministry of strange syscalls</title><summary type='text'>My favorite syscall today:$ man 2 readahead"readahead()  populates  the  page  cache with data from a file so that subsequent reads from that file will not block on disk I/O."I don't really know when should I use that, but it sounds cool. Just an implementation of prefetching on yet another layer. Wait a moment..."readahead() blocks until the specified data has been read. "I'm lost. If it blocks,</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/4370326372434515898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=4370326372434515898' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4370326372434515898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4370326372434515898'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2009/05/ministry-of-strange-syscalls.html' title='The ministry of strange syscalls'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-956697957991612659</id><published>2009-05-18T16:13:00.005+02:00</published><updated>2009-05-18T16:20:50.928+02:00</updated><title type='text'>GIT is ahead of SVN!</title><summary type='text'>Git is the most popular DVCS right now. Google trends confirms that:But the interesting fact is that Git is for the first time ahead of its grandpa Svn:Though it's worrying that CVS is still alive, it should be dead ten years ago. Hopefully we can see a process of slow death, the end is inevitable:</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/956697957991612659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=956697957991612659' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/956697957991612659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/956697957991612659'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2009/05/git-is-ahead-of-svn.html' title='GIT is ahead of SVN!'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ET_2IZa04mo/ShFtz-mxOlI/AAAAAAAABpI/bOPgALh0T5Y/s72-c/githg.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-6500311202950529396</id><published>2009-03-10T15:54:00.002+01:00</published><updated>2009-03-10T16:03:04.229+01:00</updated><title type='text'>QCon mini InThe Brain session</title><summary type='text'>I'll be speaking about simplified Etherpad clone at QCon London on Wednesday, March 11th.The presentation will take place at Skillsmatter stand (booth number 10), at 16:45.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/6500311202950529396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=6500311202950529396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/6500311202950529396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/6500311202950529396'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2009/03/qcon-mini-inthe-brain-session.html' title='QCon mini InThe Brain session'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-3421774843844383911</id><published>2009-03-04T14:52:00.005+01:00</published><updated>2009-03-04T15:03:09.295+01:00</updated><title type='text'>Evserver, part3: Simplified Etherpad clone</title><summary type='text'>This time I hacked together few open source projects. The result of my work, except from few minor bugs, seems to be working.I don't know what shall I do with this project next. There are few possible options:throw it away and forget about itadd support for markups other than reStructuredTextimplement new features, like private documents or downloading the rendered markup in different </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/3421774843844383911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=3421774843844383911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3421774843844383911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3421774843844383911'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2009/03/evserver-part3-simplified-etherpad.html' title='Evserver, part3: Simplified Etherpad clone'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-7232878033927549574</id><published>2009-02-18T00:25:00.003+01:00</published><updated>2009-02-18T00:32:28.819+01:00</updated><title type='text'>EvServer, part2: Rabbit and Comet</title><summary type='text'>sourceI just published the next part of the EvServer story.I'm working at the third part. Though, my major concern is that I'm running out of proofreaders.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/7232878033927549574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=7232878033927549574' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7232878033927549574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7232878033927549574'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2009/02/evserver-part2-rabbit-and-comet.html' title='EvServer, part2: Rabbit and Comet'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ET_2IZa04mo/SZtIqUAUfSI/AAAAAAAAAm4/aCj_aZIjc8s/s72-c/dead_rabbit.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-7265790233955067153</id><published>2009-02-06T19:42:00.003+01:00</published><updated>2009-02-06T23:54:33.946+01:00</updated><title type='text'>EvServer, Introduction: The tale of a forgotten feature</title><summary type='text'>This article about EvServer doesn't really show it as an innovative piece of software. I hope that future articles  will.It seems that the most important thing in this post is a blinking exclamation mark.BTW, ItBlog seems to be dead. For historical reasons I placed my old posts from that blog here, here and here.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/7265790233955067153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=7265790233955067153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7265790233955067153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7265790233955067153'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2009/02/evserver-introduction-tale-of-forgotten.html' title='EvServer, Introduction: The tale of a forgotten feature'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-1024569772348534649</id><published>2009-01-22T01:02:00.003+01:00</published><updated>2009-01-22T01:07:11.584+01:00</updated><title type='text'>I was wondering how Twitter search works</title><summary type='text'>Few days ago I committed a blog post about Twitter search.As a matter of fact, I'm not sure what is the solution to the question I asked there. On the other hand I presented some interesting (at least for me) numbers.While writing this stuff I learned a lot and maybe this blog post will be a motivation for someone to actually create such a perfect system.I'm still thinking about the persistence </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/1024569772348534649/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=1024569772348534649' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1024569772348534649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1024569772348534649'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2009/01/i-was-wondering-how-twitter-search.html' title='I was wondering how Twitter search works'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ET_2IZa04mo/SXe4NRVxRsI/AAAAAAAAAjU/zY1i5lq8TWk/s72-c/twitter.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-6484611821406661391</id><published>2008-12-15T18:06:00.004+01:00</published><updated>2008-12-15T22:35:55.150+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Asychrony'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><title type='text'>Asynchronous libraries performance</title><summary type='text'>I committed next post on LShift's blog.BTW. This is my 100th post in this blog!</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/6484611821406661391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=6484611821406661391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/6484611821406661391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/6484611821406661391'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/12/asynchronous-libraries-performance.html' title='Asynchronous libraries performance'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ET_2IZa04mo/SUaO_Ciy2RI/AAAAAAAAAfU/yOW7405aiH4/s72-c/library.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-2216213990931632789</id><published>2008-12-06T15:03:00.003+01:00</published><updated>2008-12-07T11:27:29.208+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='Nmap'/><title type='text'>Nmap Book finally released!</title><summary type='text'>I'm really excited. After years of work Fyodor finally managed to finish The Book "Nmap Network Scanning". It should be a great gift for every security geek. You can preorder it on Amazon  for 34$.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/2216213990931632789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=2216213990931632789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2216213990931632789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2216213990931632789'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/12/nmap-book-finally-released.html' title='Nmap Book finally released!'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/STqH4aGwf3I/AAAAAAAAAdM/hzwzo94BKcQ/s72-c/nns-preprint3-800x958.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-9161098524596814973</id><published>2008-11-21T15:43:00.005+01:00</published><updated>2008-12-06T15:21:10.285+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Messaging'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>AMQP? Maybe not yet. At least not with Python.</title><summary type='text'>sourceIn my last Python project I thought about using AMQP messaging. A quick look at Python AMQP libraries shows two possibilities:Apache Qpid python clientBarry’s py-amqplibBoth libraries are developed tightly with their brokers:  Apache uses Qpid, py-amqplib uses RabbitMQ.Apache QpidI started my adventure by downloading the source. They don’t have binary packages so this is what’s needed:$ </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/9161098524596814973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=9161098524596814973' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/9161098524596814973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/9161098524596814973'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/11/amqp-maybe-not-yet-at-least-not-with.html' title='AMQP? Maybe not yet. At least not with Python.'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ET_2IZa04mo/SSigXYjlFRI/AAAAAAAAAbY/h7b6Tlg6cmQ/s72-c/1175522045_c8929daf65_b.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-8003832185626213815</id><published>2008-11-18T19:16:00.009+01:00</published><updated>2008-12-06T15:18:52.420+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>How to escape from blocked unactivated Vista</title><summary type='text'>Few times I was pissed off by this screen:It means that I haven't activated Vista on time and Microsoft stopped liking me. The problem is that at least two times I was caught by this screen when I haven't got access to the net. I had password to WiFi, but haven't entered it yet. When Vista is blocked you don't have access to any networking settings so the password is useless. Yet another time, </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/8003832185626213815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=8003832185626213815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8003832185626213815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8003832185626213815'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/11/how-to-escape-from-blocked-unactivated.html' title='How to escape from blocked unactivated Vista'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/SSMJN249C9I/AAAAAAAAAbQ/Q-PFGSG0VVg/s72-c/Picture+12.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-3853986869788933940</id><published>2008-11-17T06:23:00.001+01:00</published><updated>2008-12-06T15:18:46.728+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Tracing Python memory leaks</title><summary type='text'>Tracing Python memory leaks.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/3853986869788933940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=3853986869788933940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3853986869788933940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3853986869788933940'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/11/tracing-python-memory-leaks.html' title='Tracing Python memory leaks'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-8574188073940967512</id><published>2008-11-11T01:40:00.003+01:00</published><updated>2008-12-06T15:18:35.275+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Simple inter-process locks</title><summary type='text'>At LShift blog I wrote about simple inter process locks in Python.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/8574188073940967512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=8574188073940967512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8574188073940967512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8574188073940967512'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/11/simple-inter-process-locks.html' title='Simple inter-process locks'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-8588557503223846475</id><published>2008-11-10T13:53:00.002+01:00</published><updated>2008-11-10T13:57:42.885+01:00</updated><title type='text'>Youtube - a team of highly trained monkeys...</title><summary type='text'>In translation "A team of highly trained monkeys has been dispatched to deal with this situation."I'm not the only one to see this message. I think it's even better than "you broke reddit" message.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/8588557503223846475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=8588557503223846475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8588557503223846475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8588557503223846475'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/11/youtube-team-of-highly-trained-monkeys.html' title='Youtube - a team of highly trained monkeys...'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ET_2IZa04mo/SRgu_RooYtI/AAAAAAAAAag/Tq74EZ38gq0/s72-c/y-tube.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-8495337871946556878</id><published>2008-11-04T02:29:00.005+01:00</published><updated>2008-12-06T15:18:11.796+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>Jukebox XSRF</title><summary type='text'>sourceIn Lshift we use Tony’s erlang jukebox, it's great, anyone can play music at the office. I found XSRF there and exploited it maliciously. Every time someone from inside the office opens this blog, Britney is being played.The exploit is not especially complicated: &lt;form id='f' method="post" enctype="text/plain"action="http://jukebox/rpc/jukebox" &gt;&lt;inputname='{"version":"1.1","id":287,"method</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/8495337871946556878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=8495337871946556878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8495337871946556878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8495337871946556878'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/11/jukebox-xsrf.html' title='Jukebox XSRF'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ET_2IZa04mo/SQ-pg750lWI/AAAAAAAAAaY/zbYraB6SmA0/s72-c/216702257_bc51c62d13_b.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-8894818108546029332</id><published>2008-11-02T04:00:00.010+01:00</published><updated>2008-12-06T15:18:59.834+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Idea'/><title type='text'>Blog success story</title><summary type='text'>sourceThe beginningsI wrote first post in this blog 22 months* ago. My intentions weren’t clear. I wanted to document my ideas (I had a lot of them), have a place to store code snippets and maybe promote myself.First posts I wrote in Polish and didn’t really know if I will be able to write in English. When look at my first posts, I start to understand that they were just testing the territory. I </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/8894818108546029332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=8894818108546029332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8894818108546029332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8894818108546029332'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/11/blog-success-story.html' title='Blog success story'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ET_2IZa04mo/SQ0g8xCg5xI/AAAAAAAAAaI/wFNyUl354v8/s72-c/2147681950_cfbcc52468_o.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-507165613100485004</id><published>2008-09-09T21:48:00.006+02:00</published><updated>2008-12-06T15:19:05.877+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Idea'/><title type='text'>Innovation is illegal</title><summary type='text'>New, interesting technologies on the web are often criticized, sued and sometimes even ruined by the court rulings. There are a lot of lawsuits on new technologies.Let's bring a few important technologies that were(are?) considered illegal by some people:Google (and other search engines) - deep linking. I remember the days when people said that deep linking is not fair. There were even court </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/507165613100485004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=507165613100485004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/507165613100485004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/507165613100485004'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/09/innovation-is-illegal.html' title='Innovation is illegal'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ET_2IZa04mo/SMboIcwHIQI/AAAAAAAAAWs/kIFQDohhTqk/s72-c/dead+zarowka.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-942281636743735420</id><published>2008-08-28T13:00:00.000+02:00</published><updated>2008-08-28T15:30:02.090+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Asychrony'/><category scheme='http://www.blogger.com/atom/ns#' term='Nmap'/><title type='text'>Presentation: Nmap and asynchronous programming</title><summary type='text'>In this presentation I would like to talk about my adventure with extending Nmap and what I learned from it regarding asynchronous programming.Nmap is a port scanner with many other features.On this slide you can see an example of Nmap output.It shows open tcp ports on some target machine. It also shows service type (if it is ssh or http or something else) and version of a daemon running behind </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/942281636743735420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=942281636743735420' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/942281636743735420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/942281636743735420'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/08/presentation-nmap-and-asynchronous.html' title='Presentation: Nmap and asynchronous programming'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/SLF3IjOAehI/AAAAAAAAAWE/Xbyd1Ogn74k/s72-c/nmap.001.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-7603342223989172413</id><published>2008-08-26T12:51:00.001+02:00</published><updated>2008-08-27T13:08:23.748+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Motoman'/><title type='text'>Presentation: hacking Industrial Robots</title><summary type='text'>I'll talk about my work on industrial robots. The robots belong to my university - PJIIT.Here you can see our two Motoman SK6 robots. They were bought by the Japanese government from a fund to support developing countries. The robots were produced in Japan, assembled in Sweden, serviced by Germany and located in Poland.They are created to do welding and painting in the industry. They have no </summary><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=30eba6f3f26aa52f&amp;type=video%2Fmp4' length='0'/><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=86051a1805896dc2&amp;type=video%2Fmp4' length='0'/><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=86f41dcd133e7d16&amp;type=video%2Fmp4' length='0'/><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=cfdb917336fc58c9&amp;type=video%2Fmp4' length='0'/><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=ffec389b2b18e4e7&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/7603342223989172413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=7603342223989172413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7603342223989172413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7603342223989172413'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/08/presentation-hacking-industrial-robots.html' title='Presentation: hacking Industrial Robots'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ET_2IZa04mo/SK_sNvExavI/AAAAAAAAAOA/7PQotWeVjg4/s72-c/robots.001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-2208096320613760497</id><published>2008-08-24T16:09:00.010+02:00</published><updated>2008-08-24T16:33:34.885+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Erlang'/><title type='text'>Learning Erlang</title><summary type='text'>I mentioned before that I'd love to learn Erlang. Just before my holidays in mountains the Erlang book has arrived. I had to chose between the holidays and learning Erlang. I chose both.It was very nice to read it on the meadows at the top of the hills. But the book is rather heavy when you need to carry it uphill.I think it's one of the best written computer books I've ever read. I've learned a </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/2208096320613760497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=2208096320613760497' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2208096320613760497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2208096320613760497'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/08/learning-erlang.html' title='Learning Erlang'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/SLFt4yif9LI/AAAAAAAAATU/r8818Q_wY4o/s72-c/erlang-03-nie.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-3711657506851382205</id><published>2008-07-11T21:30:00.006+02:00</published><updated>2008-08-23T12:49:57.709+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Idea'/><title type='text'>Don't you need an employee?</title><summary type='text'>(image stolen from that guy, he's also looking for a job)I’m currently looking for a job.What job I’m looking for? I have no idea. I did some things in my life, but that doesn’t mean I want to do them again. Most people think: “well, you’re a python hacker, so here is a python job for you!”. That’s just wrong. I want new challenges, I want to learn.There are probably a lot of things that I could </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/3711657506851382205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=3711657506851382205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3711657506851382205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3711657506851382205'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/07/dont-you-need-employee.html' title='Don&apos;t you need an employee?'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_ET_2IZa04mo/SHe6ZJ9UcWI/AAAAAAAAANg/FK78NZImnOg/s72-c/CodeForFood.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5282328316386238128</id><published>2008-07-03T12:43:00.007+02:00</published><updated>2008-08-23T12:49:49.818+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Idea'/><title type='text'>Ideas are free</title><summary type='text'>Ideas are free, so here’s the list of mine (previous ideas here).I still think that the next big thing is an open social network, so that anyone can write an extension to it. Something like Facebook api, but hosted on a provider side. That’s why I believe in GAE. Open and easily extendable social network is the web3.0 for me.The new idea is to create a Reddit tracker. When you submit something to</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5282328316386238128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5282328316386238128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5282328316386238128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5282328316386238128'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/07/ideas-are-free.html' title='Ideas are free'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_ET_2IZa04mo/SGyummGUBiI/AAAAAAAAAMo/1nj6FEe9NLg/s72-c/web20revolution.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-3797883594144984010</id><published>2008-06-15T16:53:00.008+02:00</published><updated>2008-08-23T12:50:30.025+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Motoman'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Motoman robot controlled by two Wiimotes</title><summary type='text'>Some time ago I controlled a robot with a Haptic.Inspired by Johnny Chung Lee I started to work on controlling the Motoman industrial robot using two Wiimote infrared cameras. It's a bit less accurate method than using Haptic, but it's much cheaper.What you need:a robot (or whatever you'd like to control)two Wiimote devicesa software (okay, here's the source, but beware, it's beta, work in </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/3797883594144984010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=3797883594144984010' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3797883594144984010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3797883594144984010'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/06/motoman-robot-controlled-by-two.html' title='Motoman robot controlled by two Wiimotes'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/SFUwFe-NaAI/AAAAAAAAALo/J_nw3aJ7nvo/s72-c/DSCF5778.JPG' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-3781984109978452798</id><published>2008-06-06T11:25:00.004+02:00</published><updated>2008-06-06T11:55:23.404+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Social networks'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><title type='text'>LinkedIn graph - I don’t get it</title><summary type='text'>At Grono.net, the network graph had more than 80M edges and about 1.2M nodes. You know how much RAM it used on the machines? 320MB. It’s a bit more than 4 bytes for an edge, because of alignment, plus few megabytes of index.LinkedIn says they need 12GB RAM for keeping their graph with 120M edges. Wow. It’s 107 bytes for an edge! I think that the graph shouldn't consume more than 0.5GB RAM.Their </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/3781984109978452798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=3781984109978452798' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3781984109978452798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3781984109978452798'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/06/linkedin-graph-i-dont-get-it.html' title='LinkedIn graph - I don’t get it'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ET_2IZa04mo/SEkEDY8bBrI/AAAAAAAAALY/uXSICjbrinA/s72-c/linkedin_down_500.gif' height='72' width='72'/><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-3672715729102055808</id><published>2008-05-29T11:54:00.004+02:00</published><updated>2008-08-26T19:41:31.629+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Erlang'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><title type='text'>Concurrent programming: It’s not about the language, it’s the framework</title><summary type='text'>There’s a huge discussion on the web about concurrent programming. Now we have 4-core processors and that number will double every few years. The problem is that programmers don’t know how to use multiple cpus.There are several approaches that address this issue:Intel is developing a compiler that’s going to automatically parallelize softwarepeople from Python are developing extension that’s </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/3672715729102055808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=3672715729102055808' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3672715729102055808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3672715729102055808'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/05/concurrent-programming-its-not-about.html' title='Concurrent programming: It’s not about the language, it’s the framework'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ET_2IZa04mo/SD6SlQGasZI/AAAAAAAAAK4/rzVWRy-sM4k/s72-c/erlang-4.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-8389480072604150000</id><published>2008-05-22T20:30:00.009+02:00</published><updated>2008-05-22T20:58:35.686+02:00</updated><title type='text'>Finding Iris on the image</title><summary type='text'>During one of the classes we're supposed to find Iris on given images. I created hackish script that does it. The script isn't finished and to be frank it barely works. But I think the result images look cool.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/8389480072604150000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=8389480072604150000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8389480072604150000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8389480072604150000'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/05/finding-iris-on-image.html' title='Finding Iris on the image'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ET_2IZa04mo/SDXAeQGasUI/AAAAAAAAAKQ/euDK9PLalN4/s72-c/out1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-8075856021683018571</id><published>2008-05-12T22:11:00.004+02:00</published><updated>2008-06-14T11:14:20.322+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GoogleAppEngine'/><title type='text'>Google App Engine tips&amp;tricks</title><summary type='text'>sourceA while ago I was writing some sample applications (source) for Google App Engine. I noted the things that can be useful for other GAE programmers.I used Google's webapp framework, my code here is using it.Please take a look at the shell application, it can help you test simple code.How to dynamically get application name and version?This question was asked before. You can use os.getcwd() </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/8075856021683018571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=8075856021683018571' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8075856021683018571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8075856021683018571'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/05/google-app-engine-tips.html' title='Google App Engine tips&amp;tricks'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ET_2IZa04mo/SCizlyp-3EI/AAAAAAAAAKI/r397ZiiVifI/s72-c/googlewebapen.jpg' height='72' width='72'/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-9165556405559095044</id><published>2008-05-11T00:08:00.003+02:00</published><updated>2008-05-11T12:55:04.376+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GoogleAppEngine'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Shared Fridge Magnets - simple collaboration for GAE</title><summary type='text'>Recently I read The ELC Community Blog with their example of sharing objects using red5.The obvious task is to do the same without red5 and any flash. So I created yet-another-example of the comet daemon service.Just open the fridge example site in two browsers. You can move, resize (with shift) and upload images.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/9165556405559095044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=9165556405559095044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/9165556405559095044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/9165556405559095044'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/05/shared-fridge-magnets.html' title='Shared Fridge Magnets - simple collaboration for GAE'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-159493957786802787</id><published>2008-05-07T22:58:00.003+02:00</published><updated>2008-05-11T12:55:04.377+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GoogleAppEngine'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Google App Engine: Ytalk like multiuser chat</title><summary type='text'>This is a follow up on my last post describing missing services for AppEngine.The idea is to help developers writing apps for AppEngine by providing them some common functionality missing and impossible to have on AppEngine and offer them as external services.These services are accessible through a simple API over HTTP, and it is  easy to call them from AppEngine applications using urlfetch </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/159493957786802787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=159493957786802787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/159493957786802787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/159493957786802787'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/05/google-app-engine-ytalk-like-multiuser.html' title='Google App Engine: Ytalk like multiuser chat'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-3971929007387248251</id><published>2008-05-01T01:01:00.007+02:00</published><updated>2008-05-11T12:55:04.378+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GoogleAppEngine'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Missing services for Google App Engine (comet as a service!)</title><summary type='text'>Google App Engine is a great product, but it lacks several features. I created few simple services to help GAE developers. Of course services aren't GAE specific, you can use them from any site.The services are:Image resizingCron serviceComet service Image resizingOne can't easily resize image on Google architecture - they blocked PIL. This service just resizes images and uploads them back to </summary><link rel='related' href='http://www.blogger.com/img/gl.link.gif' title='Missing services for Google App Engine (comet as a service!)'/><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/3971929007387248251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=3971929007387248251' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3971929007387248251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3971929007387248251'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/05/missing-services-for-google-app-engine.html' title='Missing services for Google App Engine (comet as a service!)'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ET_2IZa04mo/SBj8WnyAA0I/AAAAAAAAAJg/ThIBLT5vv5E/s72-c/P-38_Lightning_head-on.jpg' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-7062591197882273029</id><published>2008-04-08T11:33:00.004+02:00</published><updated>2008-05-11T12:55:04.379+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GoogleAppEngine'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Python is the winner.</title><summary type='text'>Usually I don't comment the news on the web, but this one is in my opinion really important.Google made App Engine. Now you can write web applications in Python and run them on Google infrastructore. The main advantages?ultra scalability for renderer serversultra scalability for databaseeasy deployrather cheapauto load-balancingWhat they miss?memcached / advanced cachecomet supportview layer </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/7062591197882273029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=7062591197882273029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7062591197882273029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7062591197882273029'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/04/python-is-winner.html' title='Python is the winner.'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/R_tB66lxi-I/AAAAAAAAAJU/l1Pc_RiwIh4/s72-c/appengine.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-7696927142178246493</id><published>2008-04-06T19:21:00.004+02:00</published><updated>2008-04-07T00:32:05.461+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><title type='text'>[pl] Bootstrap 8.4 - Tomasz Lis</title><summary type='text'>Oto prezentacja Tomka Lisa z sobotniego Bootstrapa "Od startupu do fakapu, czyli co z tym gronem…". Sorry za jakość, ale to wszystko co ten sprzęt potrafi. Chrząknięcia i szepty należą do Sebastiana. Update 1Jesli google video nie działa, to tu jest źródłowy wmv.Update 2Ostatnie pięć minut okazało się być czarną planszą. Teraz mam nadzieję już wszystko widać.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/7696927142178246493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=7696927142178246493' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7696927142178246493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7696927142178246493'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/04/pl-bootstrap-84-tomasz-lis.html' title='[pl] Bootstrap 8.4 - Tomasz Lis'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-173027857631855129</id><published>2008-04-06T18:20:00.003+02:00</published><updated>2008-04-06T20:35:17.162+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Motoman'/><title type='text'>Motoman controlled by Haptic</title><summary type='text'>It's a lot of fun to control a robot with the Haptic. I like the way the robot moves.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/173027857631855129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=173027857631855129' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/173027857631855129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/173027857631855129'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/04/motoman-controlled-by-haptic.html' title='Motoman controlled by Haptic'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-972215916367782597</id><published>2008-03-28T22:00:00.008+01:00</published><updated>2008-04-06T20:35:40.938+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><title type='text'>How many web browsers do you have on your computer?</title><summary type='text'>(no, it's not my desktop)Simple question: how many browsers do I have?I use Opera for reading reddit and browsing, Webkit for gmail and google docs (it's really fast), Firefox for web developing (FireBug rules).I use virtual machines, so it's not so easy to count :)main operating system: opera, firefox, safari, webkitsecondary os: opera, firefox, safari(comes with itunes), webkit, internet </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/972215916367782597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=972215916367782597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/972215916367782597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/972215916367782597'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/03/how-many-web-browsers-do-you-have-on.html' title='How many web browsers do you have on your computer?'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/R-1flalxi8I/AAAAAAAAAJA/DtY1iMSAuPs/s72-c/browsers.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-3071301133405894979</id><published>2008-03-27T22:41:00.003+01:00</published><updated>2008-03-27T22:44:29.420+01:00</updated><title type='text'>Why I don't buy on ebay.</title><summary type='text'>&gt;&gt; Hi, I want to ask if you provide deliver to Poland (Europe)?Only after I am certain that good funds have    completely cleared my account,    cannot be reversed,    you agree to accept all shipping charges,    you understand you accept the item "as is" and    have no right to return it. Reason for this harsh approach to international shipping? Too many scams coming from your location!!!</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/3071301133405894979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=3071301133405894979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3071301133405894979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3071301133405894979'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/03/why-i-dont-buy-on-ebay.html' title='Why I don&apos;t buy on ebay.'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-9062790428030467148</id><published>2008-03-26T22:09:00.007+01:00</published><updated>2008-03-27T09:46:40.020+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Useful C extensions (gcc specific)</title><summary type='text'>You think that knowing ANSI C is enough? Well, okay, it's enough. But I found that some gcc extensions are very useful.All gcc C extensions are listed in the manual.Here are the extensions I use:Labels as valuesI remember the old assembler days, when you could jmp to to an address from an array. Nowadays in C, you can create an array of pointers to functions and call pointer from array. But jmp </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/9062790428030467148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=9062790428030467148' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/9062790428030467148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/9062790428030467148'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/03/useful-c-extensions-gcc-specific.html' title='Useful C extensions (gcc specific)'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-1867423349687971134</id><published>2008-03-25T23:56:00.003+01:00</published><updated>2008-03-26T22:07:37.827+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Motoman'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Emulating exit(3) and moving stack on the fly.</title><summary type='text'>Recently, during coding embedded stuff for industrial robots I had very interesting problem.I needed to implement exit(3) function. But the system on the robot is very simple. There aren't any kinds of syscalls.So, the functions exit(3) must emulate the only proper way of exiting the program. It should emulate returning/exiting from main() function.My friend, Michal Luczaj, found clever way of </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/1867423349687971134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=1867423349687971134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1867423349687971134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1867423349687971134'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/03/emulating-exit3-and-moving-stack-on-fly.html' title='Emulating exit(3) and moving stack on the fly.'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-8046401854700089976</id><published>2008-03-21T11:01:00.003+01:00</published><updated>2008-08-23T12:51:01.370+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Idea'/><title type='text'>Web applications? Think again.</title><summary type='text'>Some time ago I proved that writing comet applications can be very easy.Now I think, I can put almost anything online. I created chat, I have working proof of concept of ytalk-like web application. I'm thinking about putting Python interpreter online. These are rather standard web applications, someone did it before. What's the next step of "evolution" after comet?Ideas are free, so I can speak </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/8046401854700089976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=8046401854700089976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8046401854700089976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8046401854700089976'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/03/web-applications-think-again.html' title='Web applications? Think again.'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ET_2IZa04mo/R-OMuqlxi7I/AAAAAAAAAI4/_wSfkIyxBx0/s72-c/webdesktop2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-11891391733871479</id><published>2008-03-11T11:59:00.003+01:00</published><updated>2008-03-26T22:06:36.875+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><title type='text'>Bidirectional search example</title><summary type='text'>Dorian asked for implementation of bidirectional search algorithm. So I created very simple implementation of bidirectional search, not optimized at all. But I hope this is enough to understand the algorithm.&gt;&gt;&gt; from bidirectionalsearch import *&gt;&gt;&gt; bidirectional_search(graph,1,3)[1, 2, 3]&gt;&gt;&gt; bidirectional_search(graph,1,8)[1, 2, 3, 4, 7, 8]&gt;&gt;&gt; bidirectional_search(graph,1,9)[]&gt;&gt;&gt; </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/11891391733871479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=11891391733871479' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/11891391733871479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/11891391733871479'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/03/bidirectional-search-example.html' title='Bidirectional search example'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/R9ZrItvHUvI/AAAAAAAAAIo/n2IcIRlyWMg/s72-c/a.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5415909154990517078</id><published>2008-03-08T11:42:00.003+01:00</published><updated>2008-03-08T11:44:14.281+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Asychrony'/><title type='text'>Why you should care about synchronous blocking I/O syscalls?</title><summary type='text'>In previous post I noticed that open(2) and stat(2) aren't asynchronous. But why you should care?Try to view a html file from CD using your favorite browser. I don't know how about you, but I switch to other browser tab while a site is loaded. But wait, when the drive starts to spin the CD the browser is blocked?That's because the browser did an open(2) on a file from CD and system have to load </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5415909154990517078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5415909154990517078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5415909154990517078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5415909154990517078'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/03/why-you-should-care-about-synchronous.html' title='Why you should care about synchronous blocking I/O syscalls?'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-214632780257177271</id><published>2008-03-08T11:19:00.002+01:00</published><updated>2008-03-26T22:07:47.325+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Django'/><title type='text'>Caching at grono</title><summary type='text'>I posted article (in polish) about caching at Grono, with description of the caching decorator called memoize.It's a very simple decorator, but it's working perfectly. Without it the site wouldn't be working :)</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/214632780257177271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=214632780257177271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/214632780257177271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/214632780257177271'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/03/caching-at-grono.html' title='Caching at grono'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-379690290236505339</id><published>2008-03-08T10:57:00.002+01:00</published><updated>2008-03-08T11:18:55.539+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Asychrony'/><title type='text'>How to deliver an event to multiple processes? - scaling django-evserver</title><summary type='text'>The hardest problem  I had to solve during my work on django-evserver, was how to efficiently propagate an event to multiple listener processes.Python, because of GIL,  doesn't scale across multiple processors. One process can only use one processor.In django-evserver we have multiple python processes and some of them could wait for some specific event. The question is how to deliver an event </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/379690290236505339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=379690290236505339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/379690290236505339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/379690290236505339'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/03/how-to-deliver-event-to-multiple.html' title='How to deliver an event to multiple processes? - scaling django-evserver'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-2493328228914056619</id><published>2008-02-29T12:22:00.003+01:00</published><updated>2008-02-29T13:19:35.553+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Nmap'/><title type='text'>Nmap - os detection for every open tcp port</title><summary type='text'>While ago I created tool, that shows p0f-like signatures for every open port. This signature is based on information taken from single SYN-ACK packet from target port. Sample output:$ sudo ./nmap -n -sT -PS80 -p21,22,53,80,443 --script=p0f.nse www.cisco.comStarting Nmap 4.22SOC1 ( http://insecure.org ) at 2007-07-12 00:04 CESTInteresting ports on 198.133.219.25:PORT    STATE    SERVICE21/tcp  </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/2493328228914056619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=2493328228914056619' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2493328228914056619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2493328228914056619'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/02/nmap-os-detection-for-every-open-tcp.html' title='Nmap - os detection for every open tcp port'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-9001743619080272599</id><published>2008-02-27T00:23:00.006+01:00</published><updated>2008-02-27T02:04:43.186+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Asychrony'/><category scheme='http://www.blogger.com/atom/ns#' term='Nmap'/><title type='text'>NSE loop bug</title><summary type='text'>Nmap Scripting Engine is an engine for running Lua scripts inside Nmap. It's based on Nmap asynchronous library NSock. During work on NSE script I found that sometimes Lua threads were frozen for too long. For example socket_object:receive() should take few milliseconds, but it took more than a hundred. In normal usage I wouldn't even notice that events are delayed, but this time I needed exact </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/9001743619080272599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=9001743619080272599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/9001743619080272599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/9001743619080272599'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/02/nse-loop-bug.html' title='NSE loop bug'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-8878657392630551808</id><published>2008-01-18T22:45:00.000+01:00</published><updated>2008-01-18T23:32:36.497+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Django'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Asychrony'/><title type='text'>django-evserver - Asynchronous server for Django</title><summary type='text'>I mentioned the idea in previous post about asychronous wsgi. Now we have working example of simple chat application. The chat is nothing special, but it's made in Django! To make this possible I created special server, django-evserver. It's quite light wrapper to libevent http layer (several hundred of lines in python/ctypes).Using this technology it's now possible to create asynchronous WSGI </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/8878657392630551808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=8878657392630551808' title='25 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8878657392630551808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8878657392630551808'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/01/django-evserver-asynchronous-server-for.html' title='django-evserver - Asynchronous server for Django'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-2319038758401857235</id><published>2008-01-17T20:53:00.000+01:00</published><updated>2008-03-08T11:19:24.797+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>32 or 64 bits?</title><summary type='text'>Just a note, that I posted an article about advantages of 32 bit architecture over 64 bit and why we chose 32 bit at Grono.net. It's in Polish, but the main point is that in our case Django at 32 bits is consuming about 30% less memory than on 64 bits.To show the differece, here is output from top command at 64 bits:VIRT  RES  SHR S %CPU   TIME+  COMMAND212m  96m 3832 S    0  1:49.61 django '/</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/2319038758401857235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=2319038758401857235' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2319038758401857235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2319038758401857235'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/01/32-or-64-bits.html' title='32 or 64 bits?'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-4305651647160833572</id><published>2008-01-14T12:01:00.000+01:00</published><updated>2008-01-14T12:15:08.976+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nmap'/><title type='text'>Nmap NSE-pcap example</title><summary type='text'>At nmap-dev mailing list Lionel asked me about NSE-pcap. He wanted to send raw UDP packet and capture the response.I created an example script that does this.The patch against nmap.Or if you prefer already patched files:packet.luapcap-example.lua</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/4305651647160833572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=4305651647160833572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4305651647160833572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4305651647160833572'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/01/nmap-nse-pcap-example.html' title='Nmap NSE-pcap example'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-3814880917581161632</id><published>2008-01-12T11:08:00.000+01:00</published><updated>2008-01-14T12:14:38.352+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Is 8GB RAM faster on 64bit or on 32bit processor?</title><summary type='text'>A friend asked me if 8 gigabytes of ram is much slower on 32bit than on 64bit linux. The standard 32 bit can handle at most 4GB of ram. To access more ram you have to enable the CONFIG_HIGHMEM64G option in kernel. The question is if this feature make access to memory much slower.I created basic test to measure ram speed. The program sequentially writes to rather big memory chunk. After first </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/3814880917581161632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=3814880917581161632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3814880917581161632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3814880917581161632'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2008/01/is-8gb-ram-faster-on-64bit-or-on-32bit.html' title='Is 8GB RAM faster on 64bit or on 32bit processor?'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5119135713983432388</id><published>2007-12-16T23:46:00.000+01:00</published><updated>2008-01-14T12:14:19.696+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Django'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Asychrony'/><title type='text'>Asynchronous Django responses (comet), yes, for WSGI</title><summary type='text'>Comet on python?I was looking for comet server implementation in python. There are many projects that claim to provide this, but none of them is working for me. Most of the projects are just proofs of concepts that never been deployed for real usage.Here is the list of projects that my friend found:fapws (based on libevent): http://william-os4y.livejournal.com/athena: http://divmod.org/trac/wiki/</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5119135713983432388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5119135713983432388' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5119135713983432388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5119135713983432388'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/12/asynchronous-django-responses-comet-yes.html' title='Asynchronous Django responses (comet), yes, for WSGI'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-1416180313911513254</id><published>2007-11-28T13:32:00.001+01:00</published><updated>2007-11-28T13:37:41.161+01:00</updated><title type='text'>PLUG: Warsaw python meetings</title><summary type='text'>My friends are going to have python presentations in Warsaw. It's going to be a part of PLUG meetings.Thursday, 29th November 2007, 19:00 at Politechnika Warszawska, sala AL.More information:http://warszawa.linux.org.pl/nowe.php?date=1196359200http://zgodowie.org/2007/11/26/war-py/</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/1416180313911513254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=1416180313911513254' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1416180313911513254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1416180313911513254'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/11/plug-warsaw-python-meetings.html' title='PLUG: Warsaw python meetings'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5038776998208918763</id><published>2007-11-15T23:49:00.000+01:00</published><updated>2007-11-16T00:09:54.850+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Motoman'/><title type='text'>Motoman weekly news #1</title><summary type='text'>If you're interested in my work with Motoman industrial robots this post is for you.The first thing is that this photo isn't connected to this post. It was taken by Marianek when the left Motoman got, out of my controll for a while. But getting back to point...We have suffered from serious errors on right robot, mostly with the R axis. I suggested that the fault could be because of a broken </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5038776998208918763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5038776998208918763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5038776998208918763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5038776998208918763'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/11/motoman-weekly-news-1.html' title='Motoman weekly news #1'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ET_2IZa04mo/RzzQR9TGGlI/AAAAAAAAAGo/vcqd4hMk1PQ/s72-c/ABCD0001.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-4796310630550370654</id><published>2007-11-02T22:07:00.000+01:00</published><updated>2008-01-14T12:15:41.370+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Asychrony'/><category scheme='http://www.blogger.com/atom/ns#' term='Nmap'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Trinity choice: nsock over libevent</title><summary type='text'>Everybody knows that Trinity is using nmap.But what she has to nsock or libevent, well nothing.Recently I wrote some software using libevent and I'm disgusted. Libevent is poorly documented (except the self-explanatory function names which are suggestive), there are not many examples on the web. Even though I took an effort and wrote few programs.About a year ago I put my hands on nmap project, I</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/4796310630550370654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=4796310630550370654' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4796310630550370654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4796310630550370654'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/11/trinity-choice-nsock-over-libevent.html' title='Trinity choice: nsock over libevent'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/RyukOrqKjpI/AAAAAAAAAGI/yGSuuj3vNrw/s72-c/trinity_hacking.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5579261483283310549</id><published>2007-11-02T20:19:00.000+01:00</published><updated>2008-01-14T12:15:26.325+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Asychrony'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Libevent under python</title><summary type='text'>So I want to write asynchronous tcp/ip server in python.I really hate overblown twisted. The thing I like most in Python is simplicity and easiness to read. Well, twisted in my opinion doesn't have this attributes. It's of course my personal feeling, mostly because I don't know twisted. But such statements are making me sick, at first sight I really don't understand what are they for (from core </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5579261483283310549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5579261483283310549' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5579261483283310549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5579261483283310549'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/11/libevent-under-python.html' title='Libevent under python'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5221877480117652834</id><published>2007-10-29T23:49:00.000+01:00</published><updated>2007-11-10T16:01:33.914+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Website loading time debugging (what happens on the wire when you browse?)</title><summary type='text'>One of my responsibilities is optimizing page loading time. There are some very useful tools on the web that help understand where are bottlenecks.Pigdom Full page testwww.websiteoptimization.comFirefox addons like Firebug with Yslow and Tamperdata are the most important and easy to use tools for every web developer.On the other hand I see a lack of a tool that is more related to networking. It's</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5221877480117652834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5221877480117652834' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5221877480117652834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5221877480117652834'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/10/website-loading-time-debugging-what.html' title='Website loading time debugging (what happens on the wire when you browse?)'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/RyZpJ7qKjnI/AAAAAAAAAF4/WGavN14KI6w/s72-c/google.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-6169252665212040787</id><published>2007-10-26T00:00:00.000+02:00</published><updated>2007-10-29T23:49:27.390+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Set process name in python</title><summary type='text'>How to set process name from inside it? I know that nmap can fake name, but the question is how to do this from python.The code that is doing this magic in nmap:# from nmap.cc  if (quashargv) {    size_t fakeargvlen = strlen(FAKE_ARGV), argvlen = strlen(argv[0]);    if (argvlen &lt; fakeargvlen)      fatal("If you want me to fake your argv, you need to call the program with a longer name.  Try the </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/6169252665212040787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=6169252665212040787' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/6169252665212040787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/6169252665212040787'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/10/set-process-name-in-python.html' title='Set process name in python'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-9035226473112644420</id><published>2007-10-22T21:36:00.000+02:00</published><updated>2007-10-23T11:38:55.756+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>The mystery of extremly long "grep -i"</title><summary type='text'>It's well known fact, that grep is the fastest way of searching data. The mystery was why "grep -i" took so much longer than standard, case-sensitive grep. Finally depesz found the reason.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/9035226473112644420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=9035226473112644420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/9035226473112644420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/9035226473112644420'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/10/mystery-of-extremly-long-grep-i.html' title='The mystery of extremly long &quot;grep -i&quot;'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-4072454656691899523</id><published>2007-10-22T16:26:00.000+02:00</published><updated>2007-10-22T21:42:07.872+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>GNU pth instead of pthread: hardcore python tuning</title><summary type='text'>ProblemI've been working on speed of an application written in python. While doing strace I found out that the most of syscalls were futex(). This futexes came from python's internal synchronization code. But the application never used any kind of threading!Most of the users never actually realize that python is doing synchronization between threads even when threads aren't used. It's not so bad,</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/4072454656691899523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=4072454656691899523' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4072454656691899523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4072454656691899523'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/10/gnu-pth-instead-of-pthread-hardcore.html' title='GNU pth instead of pthread: hardcore python tuning'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-4708017143835775523</id><published>2007-10-20T21:20:00.000+02:00</published><updated>2007-10-22T21:41:40.811+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Interesting gettimeofday() on x86_64</title><summary type='text'>During doing strace() on application I found that there are no gettimeofday() syscalls. That's nothing new, for x86_64 experts, but it's interesting for me.Here is an example of the code:#include &lt;stdio.h&gt;int main(){        printf("start\n");        gettimeofday(NULL,NULL);        printf("stop\n");        return(0);}Sample strace from i386:...write(1, "start\n", 6)                  = </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/4708017143835775523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=4708017143835775523' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4708017143835775523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4708017143835775523'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/10/interesting-gettimeofday-on-x8664.html' title='Interesting gettimeofday() on x86_64'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-8755215332297338561</id><published>2007-10-16T18:06:00.000+02:00</published><updated>2007-10-22T21:41:22.896+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Social networks'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Finding paths between users in social network graph.</title><summary type='text'>For some time I'm working at Grono.net the biggest Polish social networking website (over 1.3mln registered users). Like in other networking sites, our users have the list of friends which they know. We have interesting feature of finding the shortest path between two users, measured in "handshakes" (by "handshake" I mean connection between two users).The problem with that "paths" service was </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/8755215332297338561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=8755215332297338561' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8755215332297338561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8755215332297338561'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/10/finding-paths-between-users-in-social.html' title='Finding paths between users in social network graph.'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/RulaI3brmfI/AAAAAAAAAFI/7d5I0FKGjUI/s72-c/02.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5959729556038103166</id><published>2007-09-19T20:53:00.000+02:00</published><updated>2007-10-22T21:41:04.628+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Social networks'/><title type='text'>Die Google! - future search engines</title><summary type='text'>While talking with a friend, I realized that Google isn't the last word in the web search engines.From technical point of view google search engine isn't magic, the topic of indexing data is nothing revolutionary.The only interesting thing about Google success is their method of promoting  good results and punishing bad in search results. In Google nomenclature it's called the (mistified) </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5959729556038103166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5959729556038103166' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5959729556038103166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5959729556038103166'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/09/die-google-future-search-engines.html' title='Die Google! - future search engines'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/RvFyoO6GdDI/AAAAAAAAAFY/X29KFniA3qA/s72-c/google-500-server-error.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-4888847784864794161</id><published>2007-09-13T16:17:00.000+02:00</published><updated>2007-09-16T17:11:41.379+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Social networks'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><title type='text'>Graphical representation of connections between users</title><summary type='text'>Recently, I've been looking for a way to graphically show connections between users in social network. The basic idea is to show it in 3d, in the simplest possible manner.I tried to code this, but unfortunately I didn't knew any good-enough algorithm for counting the scene.Other social networks tried to visualize connections.  For example this graph was created at 2003 Club Nexus at Stanford </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/4888847784864794161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=4888847784864794161' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4888847784864794161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4888847784864794161'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/09/graphical-representation-of-connections.html' title='Graphical representation of connections between users'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ET_2IZa04mo/RulJ_HbrmeI/AAAAAAAAAFA/nCC8B17LeJ0/s72-c/figure1.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5307891442174963864</id><published>2007-09-08T01:16:00.000+02:00</published><updated>2007-09-08T02:17:25.461+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Magic popcount (popcnt) command</title><summary type='text'>From Frank de Groot blog:Every serious hacker sooner or later needs the popcount instruction.This "population count" instruction counts the set bits in a register, and is so useful that the NSA demands that all computers they purchase implement it in hardware.But this command is not present at x86 architecture. AMD64 documentation (p. 188) supports popcount extension, but I never heard of any </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5307891442174963864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5307891442174963864' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5307891442174963864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5307891442174963864'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/09/magic-popcount-popcnt-command.html' title='Magic popcount (popcnt) command'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-8921752386737928096</id><published>2007-09-07T23:07:00.000+02:00</published><updated>2007-09-08T00:14:29.832+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Python memory hack</title><summary type='text'>Django and most of python frameworks eat a lot of RAM. To serve multiple pages in the same time there must be many running python processes (this is not like light www daemons which serve all requests from only one process, like lighttpd or nginx).So every python process eats RAM. During it's live it imports many libraries and files. This imports are never freed by garbage collector. This imports</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/8921752386737928096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=8921752386737928096' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8921752386737928096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8921752386737928096'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/09/python-memory-hack.html' title='Python memory hack'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-2232025408429980548</id><published>2007-09-04T23:42:00.001+02:00</published><updated>2008-03-08T11:28:46.122+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Asychrony'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Crisis with asynchronous programming</title><summary type='text'>I'm currently designing an application. It's going to be quite simple linux network daemon which will serve some data from disk.Looks simple. I can easily predict that the bottleneck can be either disk IO or network bandwidth. Nowadays it's obvious that high performance network daemon must be done 100% asynchronous. The problem is that there isn't yet any technology that allows full asynchronous </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/2232025408429980548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=2232025408429980548' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2232025408429980548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2232025408429980548'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/09/crisis-with-asynchronous-programming.html' title='Crisis with asynchronous programming'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-536306052853257670</id><published>2007-08-30T21:26:00.001+02:00</published><updated>2007-09-08T00:15:18.143+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nmap'/><title type='text'>Nmap nse descriptors overflow patch</title><summary type='text'>I just released quick patch for Brandon bug. It's interesting that this flaw wasn't found earlier.My patch is a bit hackish, but it should work. I wonder if anyone finds better way of fixing this issue. The descriptor overflow patch lies here.Update 1: Hurray! Patch is included in svn version of nmap (r5739).</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/536306052853257670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=536306052853257670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/536306052853257670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/536306052853257670'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/08/nmap-nse-descriptors-overflow-patch.html' title='Nmap nse descriptors overflow patch'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-6380309534987372904</id><published>2007-08-28T21:56:00.000+02:00</published><updated>2007-09-08T00:23:53.285+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Filesystems'/><title type='text'>Well, we need Google architecture, but how should we implement such a huge project?</title><summary type='text'>Every fast-growing company will have to answer this issues sooner or later:storage disks are fullit's hard to add more disks to existing systemsfiles are served too slow because disks seeks are becoming limitationsimple database is growing to millions rows, cost and complexity of partitioning is reaching the level of cost-effectivenessIt seems that Google architecture is solving this issues. By </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/6380309534987372904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=6380309534987372904' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/6380309534987372904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/6380309534987372904'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/08/well-we-need-google-architecture-but.html' title='Well, we need Google architecture, but how should we implement such a huge project?'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-7400734877620928758</id><published>2007-08-26T18:51:00.000+02:00</published><updated>2007-09-08T00:25:15.230+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><title type='text'>Some thoughts on hashing</title><summary type='text'>I was looking for fast hash algorithms and I found Paul Hsieh SuperFastHash implementation. I also found that hash functions in Bloom filter algorithm are used to test if an element is member of a set.I found interesting fact, that it's possible to count any number of independent hashes using only two hash functions using this formula (f1 and f2 are hash functions, i is any number that is </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/7400734877620928758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=7400734877620928758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7400734877620928758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7400734877620928758'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/08/some-thoughts-on-hashing.html' title='Some thoughts on hashing'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ET_2IZa04mo/RtGzyoGI6yI/AAAAAAAAAD8/lb6UpnxbIbw/s72-c/b27461731a29e9ff44c86c06f686a843.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-7084699035393102997</id><published>2007-08-13T22:56:00.000+02:00</published><updated>2007-09-08T00:23:14.936+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>How a bad password generator can ruin security</title><summary type='text'>This is a true story about really broken password generator that was used at my college. The good idea and a bad implementation.On 30th of December 2005 all students at PJIIT received email which sounded like this:From today (30.12.2005) new password policy is going to be used:Password must contain eight or more charactersPassword must not contain username or any part of itPassword should contain</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/7084699035393102997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=7084699035393102997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7084699035393102997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7084699035393102997'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/08/how-bad-password-generator-can-ruin.html' title='How a bad password generator can ruin security'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ET_2IZa04mo/RsDV8C7VmYI/AAAAAAAAACg/4QyNdbH2-hI/s72-c/absynth1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-4778267401668547235</id><published>2007-07-21T14:50:00.000+02:00</published><updated>2007-09-08T00:25:27.289+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><title type='text'>What happened to tcp flag URGENT, MSG_OOB and SIGURG?</title><summary type='text'>Nobody today uses tcp urgent mode, so it's good topic to make some research on.Usually when socket receives tcp packet with URG flag it treats it as normal tcp data.  recv() is going to read urgent data as it was normal tcp stream. The only difference is that the last byte of data is discarded. The last byte in urgent data was always a problem due to incoherent rfc.Pseudocode for this case:server</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/4778267401668547235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=4778267401668547235' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4778267401668547235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4778267401668547235'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/07/what-happened-to-tcp-flag-urgent-msgoob.html' title='What happened to tcp flag URGENT, MSG_OOB and SIGURG?'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-1565254664534306415</id><published>2007-07-18T03:07:00.000+02:00</published><updated>2007-09-08T00:15:50.165+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nmap'/><title type='text'>Peek at new nmap-nse scripts</title><summary type='text'>Well. I'll give you a peek at my new scripts for nmap. This scripts aren't public yet, I hope this post will give mi motivation to finish them.This time we're going to focus on traceroute.  New traceroute function in nmap looks like this:# ./nmap -n -sS -p80 scanme.insecure.org --tracerouteTRACEROUTE (using port 80/tcp)HOP RTT    ADDRESS1   0.33   (censor)2   7.93   (censor)3   ...4   7.84   </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/1565254664534306415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=1565254664534306415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1565254664534306415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1565254664534306415'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/07/peek-at-new-nmap-nse-scripts.html' title='Peek at new nmap-nse scripts'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-7764271438986965811</id><published>2007-07-15T01:41:00.000+02:00</published><updated>2007-09-08T00:30:05.207+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Is it possible to abuse icmp?</title><summary type='text'>I wonder what's going to happen when malicious user will inject crafted icmp packet with some error information (like Port Unreachable) to tcp connection. Will the connection be closed?  You may think that to inject something like this it's needed to guess sequential numbers. That's not exactly correct. Icmp payload can be relatively small, specification says it has to carry at least 8 bytes from</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/7764271438986965811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=7764271438986965811' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7764271438986965811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7764271438986965811'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/07/is-it-possible-to-abuse-icmp.html' title='Is it possible to abuse icmp?'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-7914417511104026245</id><published>2007-07-12T00:42:00.000+02:00</published><updated>2007-09-08T00:16:38.129+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nmap'/><title type='text'>Some random Nmap ideas</title><summary type='text'>There were some interesting projects that were using nmap. For example Doug Hoyte Qscan idea. I hope his work won't be forgotten.But there are also some interesting projects on my desk.I think there is a possibility to implement Lcamtuf 0trace as nse script. This could be an add on to my p0f script. In 0trace we're of course interested in last hops only because standard traceroute was already </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/7914417511104026245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=7914417511104026245' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7914417511104026245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7914417511104026245'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/07/some-random-nmap-ideas.html' title='Some random Nmap ideas'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5630886713612954614</id><published>2007-07-11T23:22:00.000+02:00</published><updated>2007-09-08T00:17:11.857+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nmap'/><title type='text'>Pcap support for Nmap Script Engine</title><summary type='text'>Some time ago I wrote nse-pcap patch for Nmap that adds some libpcap features to Diman's NSE. Today I ported changes to current Nmap. It's definitely time to check if the code is worth time I spent on it!I think that pcap support one of the most promising features in NSE. It gives "new experience" to advanced programmers. It also introduces easy to use and powerful way of distributing received </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5630886713612954614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5630886713612954614' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5630886713612954614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5630886713612954614'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/07/pcap-support-for-nmap-script-engine.html' title='Pcap support for Nmap Script Engine'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-9104506845493080930</id><published>2007-07-10T01:50:00.000+02:00</published><updated>2007-09-08T00:23:53.286+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Filesystems'/><title type='text'>Filesystems in 21st century</title><summary type='text'>At studies I was taught that there are three levels in theoretical filesystems:File name is tightly bound to the volume where file is stored (eg: on Microsoft Windows the path contains drive name, like c:\windows).File name that doesn't say anything about place. But specified directory can be mounted as disk  (in unixes; you don't know on which disk file lies, but you know that every file in some</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/9104506845493080930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=9104506845493080930' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/9104506845493080930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/9104506845493080930'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/07/filesystems-in-21st-century.html' title='Filesystems in 21st century'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-7028430287501528844</id><published>2007-07-03T10:21:00.000+02:00</published><updated>2007-09-08T00:23:14.936+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>Lsi Logic site sql procedure</title><summary type='text'>Anonone's interested in sql procedure used on Lsi Logic main website?</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/7028430287501528844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=7028430287501528844' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7028430287501528844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/7028430287501528844'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/07/lsi-logic-site-sql-procedure.html' title='Lsi Logic site sql procedure'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-2448858167088477062</id><published>2007-06-28T16:13:00.000+02:00</published><updated>2007-09-18T21:08:45.580+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><title type='text'>My theory about the future of the web</title><summary type='text'>The shape of today's network is rapidily changing. First there was dot-com bubble, now we have Web 2.0 and „user generated content" era. It's time to wonder what's going to be next.I'm not the first one to mention that, but I think that in the nearest future we'd see User Generated Portal. I can imagine users that are programming features they need in portal, and share this code with others. </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/2448858167088477062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=2448858167088477062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2448858167088477062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2448858167088477062'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/06/my-theory-about-future-of-web.html' title='My theory about the future of the web'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ET_2IZa04mo/RvAiE3brmgI/AAAAAAAAAFQ/u0oInS49zho/s72-c/web20revolution.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-1705618069975492809</id><published>2007-06-28T00:57:00.000+02:00</published><updated>2007-09-16T17:11:34.685+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Social networks'/><category scheme='http://www.blogger.com/atom/ns#' term='Algorithms'/><title type='text'>Social networking: shortest path between users</title><summary type='text'>Description of my algorithm for finding shortest paths in social network portal. It reduced  search times to several milliseconds.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/1705618069975492809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=1705618069975492809' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1705618069975492809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1705618069975492809'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/06/social-networking-shortest-path-between.html' title='Social networking: shortest path between users'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-3750473514014892979</id><published>2007-06-25T14:36:00.001+02:00</published><updated>2007-09-08T00:17:35.196+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Motoman'/><title type='text'>Introduction to Motoman industrial robots</title><summary type='text'>At robotics in PJIIT we have two Motoman SK6 industrial robots. Here are movies with robots doing sample jobs.Left robot with job called "bottle". The robot was intended to get bottle from table and shake it several times. It almost works...The same job, but view is from camera on robot arm.     Right robot with my favorite fast-speed test</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/3750473514014892979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=3750473514014892979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3750473514014892979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3750473514014892979'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/06/introduction-to-motoman-industrial.html' title='Introduction to Motoman industrial robots'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-2384641707796522405</id><published>2007-06-25T13:59:00.000+02:00</published><updated>2007-09-08T00:17:35.196+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Motoman'/><title type='text'>Motomany - podnoszenie kostki</title><summary type='text'>Projekt ma już dwa lata, ale może czas go przypomnieć.Robot miałby automatycznie znajdować Kostki w okolicy, podnosić je, i coś z nimi dalej robić. Na przykład układać w piramidkę :)Największą częścią projektu jest rozróżnienie kostki od otoczenia. Aby to uprościć oznaczyłem kostki specjalnymi markerami. Oto wczesny etap prac nad markerami. W oknie po lewej części widać obraz z kamery wraz z </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/2384641707796522405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=2384641707796522405' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2384641707796522405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2384641707796522405'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/06/motomany-podnoszenie-kostki.html' title='Motomany - podnoszenie kostki'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ET_2IZa04mo/Rn-yyZ01daI/AAAAAAAAABQ/ydgU_GSlU-E/s72-c/009.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-2915882519147167298</id><published>2007-06-02T13:11:00.000+02:00</published><updated>2007-09-08T00:24:10.560+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Jak ustawić tablicę integerów na zadaną wartość?</title><summary type='text'>Mam proste zadanie. Ustawić tablicę kilku milionów intów na podaną wartość. (kompilaor gcc, procek p4/xeon)Brzmi banalnie. Pierwszy kod:void fill_standard(int bit_field, int *buf, int nodes_length){    int uid;    for(uid=0; uid &lt; nodes_length; uid++)        *buf++ = bit_field;}Problem taki, że to strasznie długo trwa. W przypadku 16 milionów integerów zajmuje to 87ms.No to może by to </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/2915882519147167298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=2915882519147167298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2915882519147167298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2915882519147167298'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/06/jak-ustawi-tablic-integerw-na-zadan.html' title='Jak ustawić tablicę integerów na zadaną wartość?'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-2712725536813743496</id><published>2007-05-31T23:23:00.000+02:00</published><updated>2007-09-08T00:26:00.469+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>Ile to jest -2147483648 * -1?</title><summary type='text'>Ile to jest -2147483648 * -1 według Twojego 32 bitowego komputera?int main (){        int x;        x = INT_MIN; /* czyli -2147483648 */        printf("%i\n",x);        x = x / -1;        printf("%i\n",x);}Mój komputer uważa, że to jest -2147483648. I kto mówi że komputery się nie mylą...</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/2712725536813743496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=2712725536813743496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2712725536813743496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2712725536813743496'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/05/ile-to-jest-2147483648-1.html' title='Ile to jest -2147483648 * -1?'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5406690254224278045</id><published>2007-05-23T09:40:00.000+02:00</published><updated>2007-09-08T00:17:11.857+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nmap'/><title type='text'>Nmap na OLPC?</title><summary type='text'>Wygląda na to że Fyodor chce odpalić nmapa na laptopach za $100. Ciekawe czy to się uda.Trzeba będzie pewnie trochę poprawić obsługę wifi, zmniejszyć zużycie ramu...</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5406690254224278045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5406690254224278045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5406690254224278045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5406690254224278045'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/05/nmap-na-olpc.html' title='Nmap na OLPC?'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-3399552370939654264</id><published>2007-05-22T19:36:00.000+02:00</published><updated>2007-05-22T21:28:51.786+02:00</updated><title type='text'>w Sejmie o społeczeństwie informacyjnym</title><summary type='text'>Ze stronki vagli:"Nazywam się Piotr Waglowski, mam 33 lata, jestem internautą. System prawa w moim kraju uznaje mnie za przestępcę... Ale nie chcę stąd wyjechać, bo to mój kraj. Co zatem możemy zrobić, by nieco poprawić tę sytuację? Zdaję sobie sprawę, że naturalną reakcją po wysłuchaniu tego typu wystąpienia jest milczenie..."Trafny jest jeszcze komentarz Jedynej:"Nieprzejmowanie się weszło mi w</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/3399552370939654264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=3399552370939654264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3399552370939654264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/3399552370939654264'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/05/w-sejmie-o-spoeczestwie-informacyjnym.html' title='w Sejmie o społeczeństwie informacyjnym'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-407286348939217042</id><published>2007-05-15T10:01:00.001+02:00</published><updated>2007-11-10T11:30:10.198+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Riddle'/><title type='text'>Kolejna zagadka</title><summary type='text'>Can you find the next number in the sequence: 1, 11, 21, 1211, 111221, 212211 312211., …</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/407286348939217042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=407286348939217042' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/407286348939217042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/407286348939217042'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/05/kolejna-zagadka.html' title='Kolejna zagadka'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5180208662805952521</id><published>2007-04-26T16:22:00.000+02:00</published><updated>2007-09-08T00:30:05.208+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Magia w tcp/ip linuxa. Bug czy ficzer?</title><summary type='text'>Z tcp/ip dzieje się coś dziwnego, po odpaleniu skryptu, pierwsze dwa połączenia są poprawnie nawiązane. Natomiast system nie widzi trzeciego połączenia. Syn-ack po sieci śmiga, a jądro z jakichś powodów go nie zauważa.Netstat pisze:tcp        0      0 127.0.0.1:60885         127.0.0.1:8081          ESTABLISHEDtcp        0      0 127.0.0.1:8081          127.0.0.1:60885         ESTABLISHEDtcp</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5180208662805952521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5180208662805952521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5180208662805952521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5180208662805952521'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/04/magia-w-tcpip-linuxa-bug-czy-ficzer.html' title='Magia w tcp/ip linuxa. Bug czy ficzer?'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-34308828331555796</id><published>2007-04-19T23:43:00.000+02:00</published><updated>2007-09-08T00:30:53.695+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><title type='text'>Web 2.0</title><summary type='text'>Czym właściwie jest web 2.0? Spotkałem się z kilkoma definicjami.Web 2.0 to serwisy społecznościowe, gdzie każdy użytkownik może wpływać na prezentowaną treść. Taka definicja jest chyba najbardziej popularna.Podejście techniczne, gdzie aby utrzymać serwery portali społecznościowych potrzebne są zupełnie nowe rozwiązania dotyczące skalowania serwerowni. Web 2.0 w tym kontekście to nie ludzie i </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/34308828331555796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=34308828331555796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/34308828331555796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/34308828331555796'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/04/web-20.html' title='Web 2.0'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-2113652258304921750</id><published>2007-04-19T01:02:00.000+02:00</published><updated>2007-09-08T00:19:26.785+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nmap'/><title type='text'>Nmap nse-pcap, próba #2</title><summary type='text'>Właśnie skończyłem testować patch do nmapa, o roboczej nazwie nse-pcap.Zamiast opisywać jego działanie powiem tylko, że jest po prostu zajebisty.Wkrótce postaram się opisać jego możliwości.</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/2113652258304921750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=2113652258304921750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2113652258304921750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/2113652258304921750'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/04/nmap-nse-pcap-prba-2.html' title='Nmap nse-pcap, próba #2'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-34221390361420535</id><published>2007-04-18T09:56:00.000+02:00</published><updated>2007-09-08T00:19:37.967+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Python wrappers for memcache</title><summary type='text'>Jeśli szukasz modułu do pythona, którym połączysz się do memcached, to najprostszym będzie python-memcached. Jest on prosty, stabilny, i po prostu działa.Problem zaczyna się później w memcache.py:_Host.readline()    def readline(self):        buffers = ''        recv = self.socket.recv        while 1:            data = recv(1)                [...]Tak, tak. python-memcache czyta z socketa po </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/34221390361420535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=34221390361420535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/34221390361420535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/34221390361420535'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/04/python-wrappers-for-memcache.html' title='Python wrappers for memcache'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5145047095730671639</id><published>2007-04-11T22:06:00.000+02:00</published><updated>2007-04-11T22:07:37.460+02:00</updated><title type='text'>Keep It Simple, Stupid</title><summary type='text'>Cytat z bloga toomuchcode:For anyone that might be struggling with this right now, some humble advice:Follow Alan Kay's axiom: "Simple things should be simple, complex things should be possible." -- If something complicated must be in the system, it still should not affect the simple things.View the project as a constant battle against complexity -- A single complex module may seem unimportant, </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5145047095730671639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5145047095730671639' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5145047095730671639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5145047095730671639'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/04/keep-it-simple-stupid.html' title='Keep It Simple, Stupid'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5305759397168420642</id><published>2007-04-10T21:59:00.000+02:00</published><updated>2007-04-10T22:07:09.446+02:00</updated><title type='text'>Praktyki w Mountain View? Nie tym razem.</title><summary type='text'>Złożyłem papiery na praktyki w Google. A co mi tam, przecież każdy chce tam pracować. Po jakimś czasie (ok 1,5 miesiąca) mejlem odezwała się grzeczna pani, i ustaliliśmy termin na dwie 45-cio minutowe rozmowy.Obie rozmowy odbyły się z regularnymi pracownikami Google - w pierwszej rozmawiałem z gościem z ładnym angielskim akcentem, a podczas drugiej z facetem, którego ledwo mogłem zrozumieć, bo </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5305759397168420642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5305759397168420642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5305759397168420642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5305759397168420642'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/04/praktyki-w-mountain-view-nie-tym-razem.html' title='Praktyki w Mountain View? Nie tym razem.'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-4318395332384008533</id><published>2007-04-08T09:00:00.000+02:00</published><updated>2007-09-08T00:28:03.031+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Riddle'/><title type='text'>Zagadka o piratach i łupie</title><summary type='text'>Dziesięciu piratów zdobyło skarb złożony ze stu sztuk złota। Chcą podzielić się łupem. Są, na swój własny i szczególny sposób, piratami demokratycznymi - mają zwyczaj dzielenia łupów w następujący sposób. Najgwałtowniejszy pirat proponuje metodę podziału i wszyscy głosują; każdy ma jeden głos, wnioskodawca też. Jeśli 50% lub więcej głosów jest za, propozycja zostaje zatwierdzona i wciela się ją w</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/4318395332384008533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=4318395332384008533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4318395332384008533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/4318395332384008533'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/04/zagadka-o-piratach-i-upie.html' title='Zagadka o piratach i łupie'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-1804128244771718294</id><published>2007-04-08T00:58:00.000+02:00</published><updated>2007-04-08T08:58:37.241+02:00</updated><title type='text'>Idea silniejsza niż Microsoft</title><summary type='text'>Dziś przeczytałem dwa ważne artykuły, polecam do poduszki:Richard Hillesley: Be Realistic. Demand the ImpossiblePaul Graham: Microsoft is dead</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/1804128244771718294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=1804128244771718294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1804128244771718294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/1804128244771718294'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/04/microsoft-is-dead.html' title='Idea silniejsza niż Microsoft'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-8936336926849056599</id><published>2007-04-07T14:19:00.000+02:00</published><updated>2007-09-08T00:28:03.031+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Riddle'/><title type='text'>Zagadka "najtrudniejsza ze wszystkich"</title><summary type='text'>Poniższa zagadka, znana jako "Historia Smitha, Johnesa i Robinsona" to już klasyka tego typu łamigłówek.Panowie Smith, Robinson i Jones stanowią załogę pociągu. Jeden jest palaczem, drugi hamulcowym, trzeci maszynistą; kolejność tych funkcji jest przypadkowa. Pociągiem jadą również trzej biznesmeni o tych samych nazwiskach.1. Pan Robinson mieszka w Detroit.2. Hamulcowy mieszka dokładnie w połowie</summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/8936336926849056599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=8936336926849056599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8936336926849056599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/8936336926849056599'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/04/zagadka-najtrudniejsza-ze-wszystkich.html' title='Zagadka &quot;najtrudniejsza ze wszystkich&quot;'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2797923531103204252.post-5413160268594815097</id><published>2007-04-07T14:17:00.000+02:00</published><updated>2007-09-08T00:28:03.031+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Riddle'/><title type='text'>Zagadka "Einsteina"</title><summary type='text'>Tak na rozruszanie głowy, oto pewna zagadka:5 ludzi zamieszkuje 5 domów w 5 różnych kolorach. Wszyscy palą papierosy 5 różnych marek i piją 5 różnych napojów. Hodują zwierzęta 5 różnych gatunków.- Anglik mieszka w czerwonym domu- Duńczyk pija herbatkę- Norweg zamieszkuje pierwszy dom- Palacz Rothmansów mieszka obok hodowcy kotów- Mieszkaniec żółtego domu pali Dunhille- Niemiec pali Marlboro- </summary><link rel='replies' type='application/atom+xml' href='http://blogger.popcnt.org/feeds/5413160268594815097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2797923531103204252&amp;postID=5413160268594815097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5413160268594815097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2797923531103204252/posts/default/5413160268594815097'/><link rel='alternate' type='text/html' href='http://blogger.popcnt.org/2007/04/zagadka-einsteina.html' title='Zagadka &quot;Einsteina&quot;'/><author><name>majek</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='15' src='http://lh4.google.pl/image/majek04/RagGhdfeySI/AAAAAAAAAAg/szGDGQTg8p8/oczy.jpg'/></author><thr:total>0</thr:total></entry></feed>
