Fai_Ryy
TVSTRANGERTHINGS
Peter Solarz
Mike Driver
KIROKAZE

❣ Chile in a Photography ❣
official daine visual archive
noise dept.
untitled
Xuebing Du
Sade Olutola
hello vonnie

tannertan36
Sweet Seals For You, Always
Cosmic Funnies
"I'm Dorothy Gale from Kansas"
$LAYYYTER

#extradirty
One Nice Bug Per Day

Kaledo Art
seen from United States
seen from Canada

seen from Brazil
seen from United States
seen from Colombia
seen from United Arab Emirates
seen from Libya
seen from Saudi Arabia

seen from United States

seen from Kenya
seen from Chile
seen from Malaysia

seen from United Kingdom

seen from Tunisia
seen from United States

seen from Malaysia

seen from India

seen from France

seen from Pakistan
seen from Venezuela
@pramodh-nanjayya
Structure and Interpretation of Computer Programs
There are 2 approaches to writing programs.
Bottom Up
Top Down
Bottom Up is about writing the pieces or components one by one and then assembling them together. This also known as the Turing approach. For an analogy, I will say in order to make a car, I will make wheels first then make engine and then finally fit them all together one by one.
Top Down is about writing the program from a wishful thinking perspective. As the name suggests, one starts from the top, assumes that there are certain components already available(that is why it is called wishful thinking) and programs accordingly. The same approach is applied to these so called assumed components as they are written. Based on the analogy above, I will assume that all the components are already available. So, I start making the body frame of the car and then make the engine that fits, wheels that fit. This approach is built upon lambda calculus which was Alonzo Church's brain child.
Last year I was introduced to the world of functional programming. One of the text books which was recommended was Structure and Interpretation of Computer Programs. The whole text books is available onlie.
The best part is that, the whole MIT lectures by the professors are online in YouTube. Certain parts are a bit hard to digest, but so far I am thoroughly enjoying watching this.
Book I am reading in April 2014
Building Reactive Applications with Akka
Couple of weeks ago I had an opportunity to attend a talk on building reactive applications with Akka. Jonas Bonér, the CTO of TypeSafe gave the talk about how Akka meets the demands of real time data processing in a massive scale. Here is the presentation
Pure Functions
A pure function always returns the same value for the same arguments.
A pure function never has side effects.
What is a side effect?
A possibility that the function modifies the state of the outside world in the process of executing a function. For example modifying a global variable.
Functional programming languages discourage this practice.
How internet happened
The month of April I am learning a ton of new stuff. But as I delve deep into the subjects of parallel programming and functional programming, I realize that these concepts come from the mid of 20th century. The ideas were already there in the 1950s and 1960s.
Sometime then when the so called giant computers which use to take a room in giant rooms started popping up, some scientists started asking the question "how good one can make a computer work smart or get the output fast". What was driving those decisions. Even though they were giant computers only one person can access them and work with them. A person had to book the computer way in advance and wait for the slot. The lines were getting bigger. So a scientist who was observing this saw that, there are times when a computer is waiting for the input or printing in this case punching the output. During that time, the processor is pretty much sitting idle. Why not feed it some other work to do meanwhile? That is when the idea of time slicing and scheduling was introduced. And people started working and the computer started doing multitasking. So the long lines got reduced.
Then after sometime, a new situation came up. Sometimes the organizations had a situation where they had 2 giant machines located in adjacent buildings. Sometime during that time, a scientist asked another question. Is it possible to make these 2 machines talk. Answer was of course yes. So someone came up with the idea of connecting them through wire and computers started talking to each other. That was the beginning of computer networking. Many computers were connected. As that connecting was in progress, cold war started between America and Russia. So, another scientist wondered, can we make a distributed network which could withstand a catastrophe, say a city is destroyed, but computers in other cities can still talk to each other. If a part of network fails, still the network continues to operate. The idea of a distributed system or the so called internet came into picture. So, there were not one master or server doing all the work, there were many computers collaborating with each other. So, internet was born. The TCP/IP standard somehow became a dominant force or the standard.Universities and some government organizations and a few companies were the early adapters.
While the internet was growing a scientist at DARPANET asked the question, is it possible make a document or text which has links to other documents in the internet. That way the link which is either another document or another resource could be accessed anywhere in the internet. The document was called Hyper Text. Hyper Text is text with links in it. Those links were called Uniform Resource Locators or URL for short. An application which renders that hyper text called an internet browser was developed. Web servers started popping up in the internet serving those hyper text documents. And the world wide web was born.
With the advent of PC in the 70s and 80s, the world wide web came to a computer near us. In the 90s it spread like wild fire. I was introduced to it in 1996. By 2000 internet was almost every where. Then came the smart phones, and the idea that one can put an Operating System with a browser in that device.
Sometime in the first decade of 21st century idea social network was introduced. Also the idea of a expressing once opinion on a web log known as blog was introduced. Here in Tumblr a famous blogging tool, I am documenting it. And I don't know where in the internet it will end up. But it could be accessed anywhere in the internet with a URL.
NY State Sewage Violations
This visualization is about the sewage violations registered by government in NY state. Clicking on the bubble gives a description of violations.
I used CartoDB to create this geo visualization.
A gini index based data visualization. Each country is organized based on it. According to this data, South Africa has the highest income inequality.
Last year I did an online course about data visualization in Journalism. I created this Visualization as part of the last assignment.
To interact with the data visualization go to Tableau
Hello World
I have been thinking about making a blog for a while. In fact this would be my third blog. Decided to name it Data + Curry.
At the moment there is a lot of buzz about data. We are surrounded by massive amounts of data. Data is every where. And I am interested in extracting information from data. Making sense from it. So, this blog will have some interesting tidbits about data and what I am doing with data.
Currying is a technique that makes a function take multiple arguments in such a way that it could be called as a chain of functions. A british computer scientist Christopher Strachey coined this term as a dedication to great mathematician Haskell Curry
Also, I am from South India. I grew up eating curry. It is a reference to my origin. So, curry is a double entendre given this context.
Topics that I cover will be about
Machine Learning
Functional Programming
Data Visualization
Statistics
Data Science
Big Data