August, 2008 archive


How to: visit password-protected websites without registering

August 27, 2008

Some sites allow googlebot to index their content but require regular users to register/login. So, if you don't want to register in order to see the content of such a site, you can just change the User Agent of your browser to Googlebot (in Firefox you can do that using the User Agent Switcher plugin).

[How to: visit password-protected websites without registering via reddit]


What's On Olympian Kerri Walsh's Shoulder?

August 17, 2008

I was curious about that... Here's the answer: What's On Olympian Kerri Walsh's Shoulder? (via Gizmodo).


Freebase Parallax: A new way to browse and explore data

August 17, 2008

Freebase Parallax is a browsing interface for Freebase that greatly enhances the way we search for linked data. Watch the video below for a very cool demo.


Freebase Parallax: A new way to browse and explore data from David Huynh on Vimeo.


Django generic views cache-like behavior

August 16, 2008

In certain cases the Django generic views will behave like they are caching data. They are doing that for the queryset argument and not for extra_context which is known to be cached. This will happen if you send to the generic view a queryset filtered with a callable.

Let's take as an example a blogging application. In blog.models we have:

class PublishedManager(Manager):
    def get_query_set(self):
        queryset = super(PublishedManager, self).get_query_set()
        return queryset.filter(pub_date__lte=datetime.now)

class Entry(models.Model):
    ...
    pub_date = models.DateTimeField()

    published = PublishedManager()
    ...

In blog.urls:

info_dict = {
    'queryset': Entry.published.all()
}
entry_list = url(
    regex  = '^$',
    view   = 'django.views.generic.list_detail.object_list',
    kwargs = dict(info_dict, paginate_by=10),
    name   = 'entry-list'
)

urlpatterns = patterns('', entry_list)

Internally, the generic view will _clone() the queryset sent in the info_dict, in order to get fresh data from the database. Unfortunately, at the time of the cloning, the queryset already has the filter applied with the datetime.now callable already invoked and the datetime value cached in the where clause. The generic view will always return the entries that have the pub_date less then or equal to the time when blog.urls module was loaded.

The work-around for this issue is to stop passing the queryset to the generic view through the info_dict dictionary. We can do that by creating our own view:

def entry_list(request, page=0):
    return django.views.generic.list_detail.object_list(
        request,
        queryset = Entry.published.all(),
        paginate_by = 10,
        page = page
    )

This way every time the view is called a new queryset will be created. This new queryset will always have in the where clause the current datetime.


Using Photographs to Enhance Videos of a Static Scene

August 15, 2008

Great video editing technology that automatically enhances your videos using high quality photos of a scene. What it does:


Using Photographs to Enhance Videos of a Static Scene from pro on Vimeo.

The only limitation for now is that it can handle only static scenes.

[Using Photographs to Enhance Videos of a Static Scene via reddit]


Intel Remote Wake

August 14, 2008

Cool technology from Intel that allows your computer to wake up when supporting applications receive a signal. Great for VOIP and multimedia.

PC Mag article


[RO] Acces la internet fără fire de păr

August 12, 2008

Daca vreti sa mergeti in vacanta in Bulgaria si doriti sa aveti acces la internet fără fire de păr atunci va recomand hotel Mistral:

Hotel Mistral website screenshot

Thanks Tao.


Pack your stuff and move into The Cloud

August 11, 2008

How long till we get a plug into the back of our heads? Make sure you watch the video below:

More details here.


Quote from johns-appendix

August 11, 2008

From reddit:

"And all you programmers using .bak, .save, .copy to backup old revisions, you are using version control -- you just suck at it."


Copyright © 2008 Mihail Ovidiu Pascut