Here's some stuff philsci has liked. To find more cool stuff, check out Explore »

Sigalon says...


Police Warning

Watch Out For This Scam

Police say that the gang usually is composed of four members, one adult and three younger ones.

While the three younger ones, all appearing sweet and innocent, divert their 'mark' (or intended target) with a show of friendliness , the fourth - the eldest - sneaks in from behind the person's back to expertly rifle through his or her pockets and purses or bags for any valuables being carried.

The picture attached shows the gang in operation


stevekrenzel says...

MapReduce is a framework originally developed at Google that allows for easy large scale distributed computing across a number of domains. Apache Hadoop is an open source implementation.

I'll gloss over the details, but it comes down to defining two functions: a map function and a reduce function.

The map function takes a value and outputs key:value pairs. For instance, if we define a map function that takes a string and outputs the length of the word as the key and the word itself as the value then map(steve) would return 5:steve and  map(savannah) would return 8:savannah. You may have noticed that the map function is stateless and only requires the input value to compute it's output value. This allows us to run the map function against values in parallel and provides a huge advantage.

Before we get to the reduce function, the mapreduce framework groups all of the values together by key, so if the map functions output the following key:value pairs:

3:the
3:and
3:you
4:then
4:what
4:when
5:steve
5:where
8:savannah
8:research

They get grouped as:

3:[the, and, you]
4:[then, what, when]
5:[steve, where]
8:[savannah, research]

Each of these lines would then be passed as an argument to the reduce function, which accepts a key and a list of values. In this instance, we might be trying to figure out how many words of certain lengths exist, so our reduce function will just count the number of items in the list and output the key with the size of the list, like:

3:3
4:3
5:2
8:2

The reductions can also be done in parallel, again providing a huge advantage. We can then look at these final results and see that there were only two words of length 5 in our corpus, etc...

The most common example of mapreduce is for counting the number of times words occur in a corpus. Suppose you had a copy of the internet (I've been fortunate enough to have worked in such a situation), and you wanted a list of every word on the internet as well as how many times it occurred.

The way you would approach this would be to tokenize the documents you have (break it into words), and pass each word to a mapper. The mapper would then spit the word back out along with a value of 1. The grouping phase will take all the keys (in this case words), and make a list of 1's. The reduce phase then takes a key (the word) and a list (a list of 1's for every time the key appeared on the internet), and sums the list. The reducer then outputs the word, along with it's count. When all is said and done you'll have a list of every word on the internet, along with how many times it appeared.

Easy, right? If you've ever read about mapreduce, the above scenario isn't anything new... it's the "Hello, World" of mapreduce. So here is a real world use case (Facebook may or may not actually do the following, it's just an example):

Facebook has a list of friends (note that friends are a bi-directional thing on Facebook. If I'm your friend, you're mine). They also have lots of disk space and they serve hundreds of millions of requests everyday. They've decided to pre-compute calculations when they can to reduce the processing time of requests. One common processing request is the "You and Joe have 230 friends in common" feature. When you visit someone's profile, you see a list of friends that you have in common. This list doesn't change frequently so it'd be wasteful to recalculate it every time you visited the profile (sure you could use a decent caching strategy, but then I wouldn't be able to continue writing about mapreduce for this problem). We're going to use mapreduce so that we can calculate everyone's common friends once a day and store those results. Later on it's just a quick lookup. We've got lots of disk, it's cheap.

Assume the friends are stored as Person->[List of Friends], our friends list is then:

A -> B C D
B -> A C D E
C -> A B D E
D -> A B C E
E -> B C D

Each line will be an argument to a mapper. For every friend in the list of friends, the mapper will output a key-value pair. The key will be a friend along with the person. The value will be the list of friends. The key will be sorted so that the friends are in order, causing all pairs of friends to go to the same reducer. This is hard to explain with text, so let's just do it and see if you can see the pattern. After all the mappers are done running, you'll have a list like this:

For map(A -> B C D) :

(A B) -> B C D
(A C) -> B C D
(A D) -> B C D

For map(B -> A C D E) : (Note that A comes before B in the key)

(A B) -> A C D E
(B C) -> A C D E
(B D) -> A C D E
(B E) -> A C D E

For map(C -> A B D E) :

(A C) -> A B D E
(B C) -> A B D E
(C D) -> A B D E
(C E) -> A B D E

For map(D -> A B C E) :

(A D) -> A B C E
(B D) -> A B C E
(C D) -> A B C E
(D E) -> A B C E

And finally for map(E -> B C D):

(B E) -> B C D
(C E) -> B C D
(D E) -> B C D

Before we send these key-value pairs to the reducers, we group them by their keys and get:

(A B) -> (A C D E) (B C D)
(A C) -> (A B D E) (B C D)
(A D) -> (A B C E) (B C D)
(B C) -> (A B D E) (A C D E)
(B D) -> (A B C E) (A C D E)
(B E) -> (A C D E) (B C D)
(C D) -> (A B C E) (A B D E)
(C E) -> (A B D E) (B C D)
(D E) -> (A B C E) (B C D)

Each line will be passed as an argument to a reducer. The reduce function will simply intersect the lists of values and output the same key with the result of the intersection. For example, reduce((A B) -> (A C D E) (B C D)) will output (A B) : (C D) and means that friends A and B have C and D as common friends.

The result after reduction is:

(A B) -> (C D)
(A C) -> (B D)
(A D) -> (B C)
(B C) -> (A D E)
(B D) -> (A C E)
(B E) -> (C D)
(C D) -> (A B E)
(C E) -> (B D)
(D E) -> (B C)

Now when D visits B's profile, we can quickly look up (B D) and see that they have three friends in common, (A C E).


Isla Maia says...

07/22/2008

Content is King

Animation, Films, TV and Gaming.  SME Nation gives Filipino artists the connectivity edge.

 

This is the age of media overload, where audiences cannot go a day without being confronted by a sensory onslaught from diverse and competing sources. The key is capturing a viewer's attention, and holding it. Once captured, however, that same content can now be used and distributed across multiple platforms. A television show can be streamed onto mobile TV, have a popular interactive website, and then sell merchandise. A movie can be the basis of a spinoff television series, and then a videogame. One well-known example is the Korean online RPG 'Ragnarok', whose popularity in the Philippines can only be described as a phenomenon. The game, starting on the Internet, was so successful that an animated series was created based on it. It then made a foray into the print market, as a series of graphic novels based on the original game were created. Level-up Games, the company responsible for bringing the game to Philippine shores, has been so successful that they expanded into India and Brazil, and are still going strong alongside PLDT.


The industry term for this media versatility is cross-platform appeal, and according to Creative Media and Film Society of the Philippines' Imee Marcos, it is high time that the entertainment industry of the Philippines gets serious about generating some of its own.
The Philippines has no lack of experience when it comes to producing creative works. As a place for outsourcing creative work such as animation and computer programming, it is well known to Western corporations. And outsourcing has brought in much-needed revenue as well as a highly trained Philippine workforce mindful of international standards, especially for demanding Western audiences. Ms. Marcos suggests, then, that it's time to encourage producing some of our own content to distribute through channels we've already grown experienced in – to encourage the growth of OPC (Original Filipino Content).


In spite of our decades-long experience in producing multimedia, Imee feels that we are still shortsighted when it comes to distribution and fail to see the opportunity of taking a piece of the bigger cake. Producing OPC will enable artists to own full IP rights and sell it to distributors across the globe for a chance to earn more profit off their works and sustain the industry.


The Creative Media and Film Society of the Philippines (CreaM) was founded in mid-2007 by producers and owners of intellectual property (IP) specifically to confront such issues. The independent producers of such multimedia tend to be Small to Medium-sized Enterprises (SMEs). Beyond concerning themselves with profits, they are determined to carve out a reputation for themselves as being producers of high-quality IP.  One might describe CreaM as a group of aspiring entrepreneurs or SMEs with serious plans "to bolster growth and develop Original Filipino Content (OPC) in the creative industries, with the end goal of positioning the Philippines as the creative media producer of Southeast Asia." It seeks to provide independent producers of IP across different creative fields with such help as they can provide. 


But what does CreaM actually do? It tries to be the independent producer's voice. It lobbies the government to address problems in the industry such as the stiff taxation and the lack of incentives and grants for the industry. It arranges international cooperation and exposure; facilitates workshops, competitions and lectures in order to develop the talent and experience of the independent producers. For example, they recently helped Intel put together a fifteen-day game development competition, the first of its kind in the Philippines. The competition both tested and showcased the talents of the young Filipino coders who participated. And it tries to arrange for them to obtain the resources they need to really show their stuff.


And what resources would we exactly need to attain this dream? Connectivity. "Insane bandwidth," as Ms. Marcos puts it, is needed to send terabyte upon terabyte of precious material for development, reviews, etc. The independent film-makers, game developers and sound producers that make up the membership of CreaM are SMEs that clamor more than ever for a robust and secure connection with which to transmit their IP, as they work with media that can be easily translated into digital format.  In the gaming industry for example, prototypes to be reviewed by prospective distributors have to be coded and playable which end up being extremely heavy files. In order for buyers to even consider material, it has to be sent to them overseas. Solutions such as PLDT i-Gate will meet the demand animators, filmmakers, and game developers require and enable them to work more efficiently through its reliable high capacity connection. Through i-Gate, Filipino multimedia artists can start moving towards bigger goals like moving across platforms and venturing out into the merchandising industry.


Archiving is another problem the creative media industry faces. Sadly little is left of past work. "We hear about all the old titles, but as for the films themselves, students have never seen them," says Imee, referring to Filipino classics from the likes of director Gerry de Leon. New material being developed isn't excluded from this dilemma. Even if we had the technology for archiving, it would remain very costly. CreaM envisions a portal where members could upload their works and people could view them in good quality, unlike other avenues available right now.


It is not a far-off dream that Filipinos might one day see their own original, homegrown IP being proudly displayed. The feature-length animated film 'Urduja' is a triumph of Filipino artistry and animation experience, written, directed, produced and voiced entirely by Filipinos for Filipinos, and mastered to world-class standards. It isn't too much to hope that this is merely the crest of a rising wave of developing Filipino artistic talent.

Author: PLDT SME Nation
Source: PLDT SME Nation Page 01


clementine says...

Tilt-shift photography refers to the use of camera movements on small- and medium format cameras. In many cases, it refers to tilting the lens relative to the image plane and using a large aperture to achieve a very shallow depth of field. The technique usually relies on the use of special lenses.

"Tilt-shift" actually encompasses two different types of movements: rotation of the lens, called tilt, and movement of the lens parallel to the image plane, called shift. Tilt is used to control the orientation of the plane of focus, and hence the part of an image that appears sharp. Shift is used to control perspective, usually involving the convergence of parallel lines.

There is flickr group of tilt-shift photography, you can find lots of examples from there, and also you can transform your existing digital camera photos into tilt-shift style miniatures using tiltshiftmaker the thing only you should do is downloading your photos.


clementine says...

Very interesting project wih mantis

                   
Click here to download:
Mantis_is_everwhere.zip (554 KB)


clementine says...

   

Click here to download:
Lets_play_with_the_moon....zip (211 KB)

fromdesignyoutrust/