background preloader

Programming

Facebook Twitter

Color Hex - ColorHexa.com. MapReduce Patterns, Algorithms, and Use Cases « Highly Scalable. In this article I digested a number of MapReduce patterns and algorithms to give a systematic view of the different techniques that can be found on the web or scientific articles. Several practical case studies are also provided. All descriptions and code snippets use the standard Hadoop’s MapReduce model with Mappers, Reduces, Combiners, Partitioners, and sorting. This framework is depicted in the figure below. MapReduce Framework Counting and Summing Problem Statement: There is a number of documents where each document is a set of terms. Solution: Let start with something really simple.

The obvious disadvantage of this approach is a high amount of dummy counters emitted by the Mapper. In order to accumulate counters not only for one document, but for all documents processed by one Mapper node, it is possible to leverage Combiners: Applications: Log Analysis, Data Querying Collating Problem Statement: There is a set of items and some function of one item.

The solution is straightforward. CS 61A Home Page. Course Resources Contest Results You have selected the winners of the Recursion Exposition! Here they are: The results from the Pig contest are in! Our top finishers out of 34 entries: Other Useful Information Course Schedule About Viewing Documents Course documents available through these Web pages are either plain text files, Postscript files, or PDF (Portable Document Format) files. Self improvement - What is the single most effective thing you did to improve your programming skills. MongoDB Presentations - Python Development with MongoDB. Setting Up Django On A Free Amazon EC2 Instance : Synstorm.co.uk. Hidden features of Python. Message Queue Evaluation Notes. From Second Life Wiki Second Life Wiki > Message Queue Evaluation Notes One of the infrastructure tools that we've identified for the future internal architecture of Second Life is messaging. Message queuing systems allow systems that send messages to not have to worry about how they will be delivered, and allow consumers of messages to gather whichever ones interest them, at their own pace.

Ideally we'd have a completely scaleable system that clients could treat as singular black box. It would act as a well-known cluster to which senders or receivers of messages could connect, and be able to communicate asynchronously to or from anywhere else on the grid. Our use cases mostly involve very large numbers of queues; the smallest number we're even considering is double the number of concurrent users. We're unfortunately pretty far from having closed the case on which technology to choose, or even if we can use any of these at all.

Criteria Questions Group Chat Use Case AMQ Protocol RabbitMQ. Clint, Command Line Library for Python. January 5, 2012 This library is the kind I like, the kind which make your life easier, perfect for someone like me, who uses Python all the time. So, what can Clint do for you? Well, there are a bunch of tools that might come handy when you do some command line based programming, especially quick scripts. If you use Python as your primary langage, CLI stuff is always useful. Colors Having some colored output can be nice, but I don’t want to use some ncurses interface to have a nice display. Let’s see the simplest example possible: from clint.textui import colored print colored.red('some warning message')print colored.green('nicely done! ') How intuitive was that! If you only need one word in different color, it’s as simple as a concatenation, here’s a quick example: from clint.textui import colored print 'I love ' + colored.yellow('pyt') + colored.blue('hon') Indentation One of the main feature of Clint, is to handle nicely indentations.

Once executed, the output gives: Arguments. 12 resolutions for programmers. Go analog Programmers obsess over the discrete and the digital well past the point of diminishing returns. Thus, small investments in the analog yield comparatively large gains. Here's a starter list of analog activities to try, each of which takes about a month of dedicated effort to transition out of the novice (and into the seasoned beginner) stage: Cooking.

Hiking. Stay healthy Programmers tend to live sedentary lives, and we face unique health challenges from our occupation. We tend to ignore these challenges. Spend a full month each year tuning your exercise, diet and environment to promote durable healthy habits. Go to a clinic each year to get your blood pressure, cholesterol and blood sugar checked. If your wrists are starting to hurt or have been hurting, stop now and take action to combat RSI. Focus on improving your posture, with an emphasis on your shoulders and neck. To help: (Yes, it works for men too.) Track your weight, caloric intake and caloric burn. Embrace the uncomfortable. .net - Hidden Features of C#