"I am 6 Years Old and I Disagree with you that Pluto is a Kuiper Belt Object" - Dr. Neil deGrasse Tyson's Hate Mail

Remember when Neil deGrasse Tyson was on Jon Stewart and said that he gets hate mail from 6 year olds about Pluto? It looks like this:

Hate mail for NDG

Via Gizmodo.

TBL at TED: "Tim Berners-Lee: The year open data went worldwide"

It's a short peppy talk cheerleading the need for more open, standard-based data sets...


I Can't Stop Reading About How 0.999999.... equals 1

Geez, I should just turn this site into a Tumblr, since I have gotten into the habit of barely writing anything for each post. Here is an interesting post about how "0.999.... equals 1," which was on a recent hit on Digg, and reblogged all over the place.

 

The "Rally Fighter" is a Creative-Commons Licensed Car

I have been following the Rally Fighter for a while, it's a car which is built from a Creative Commons licensed design. Anyone can build it from the design, and "Local Motors," the company that started the project, expects buyers to contract local mechanics to build cars based on the open source plans. Learn more here. The car is a monster, video below:

Color Video of London from the 1920s (!)

Help Haiti: Where to Donate

The photos coming out of Haiti depict an apocalyptic nightmare. Yesterday I donated some money to Partners in Health, and I hope you do too. The website of Oakland's Food First has a post on organization to whom you should send some money, in case you want to donate but are not sure where to send your money. American Red Cross might be a good organization to contribute to as well. Do it soon. Read more here.

Médecins Sans Frontières

(a.k.a. Doctors Without Borders) has deployed doctors and emergency temporary hospitals. It takes them at least

30 hours to set up an inflatable 100-bed hospital

. These temporary hospitals are important because, after the initial death toll of 40 to 50 thousand people, some estimate that another 50,000 will die due to poor medical capacity.


Bad Brains live at CBGB's circa 1982

Perhaps because of my extreme dissatisfaction with the state of popular American music circa 2009, I have been going back a few decades to remind myself that it could be. Here's a great clip from the band Bad Brains, which pretty much invented hardcore punk music in the late 1970s. It's probably accurate to say that bands like Metallica, Slayer, and even the Beastie Boys (which started out as a hardcore band) wouldn't be quite the same without the influence of Bad Brains.

 

Leftover from 2009: I Forgot to Plug TripMyWorld.com

"Trip my World" is a news and photo browser that Abe Coffman, Dhawal Mujumdar, and I made to demonstrate search dimensionality reduction based on time and date. Ok, Abe did most of the work. I am supposed to add the Twitter API to it, but I have been too lazy busy. Anyway, try it out here - you will love it.

Trip My World

Python Practice: A Simple Recursive QuickSort

Random: After reading a few pages from "Introduction to Algorithms," (by Cormen et al.) I wrote this little code snippet to remind myself how to do a recursive quicksort! I think it is something like this... (O{n lg n} best case, right?)

 

#!/usr/bin/env python
# encoding: utf-8
"""
quickSort.py
"""

def quickSort(unsortedList):
	
	# if the length of the unsorted list is less than one
	# return it
	if len(unsortedList) <= 1:
		return unsortedList

	# Otherwise, do this...
	
	# Choosing roughly the middle element as the pivot
	pivotIndex = int(len(unsortedList)/2)
	print "Pivot Index " + str(pivotIndex)
	
	pivotElement = unsortedList.pop(pivotIndex)
	print "Pivot Element " + str(pivotElement)
	
	# Lists to hold greater than and less than elements
	lessThanList = []
	greaterThanList = []
	
	# For each item, place into a 
	for item in unsortedList:
		if item <= pivotElement:
			lessThanList.append(item)
		else:
			greaterThanList.append(item)

	print "Less Than Array is: "
	print lessThanList
	
	print "Greater Then Array is: "
	print greaterThanList
	print

	# Create a new list to concat sublists
	sortedList = []
	
	if len(lessThanList) > 0:
		sortedList.extend(quickSort(lessThanList))
	
	sortedList.append(pivotElement)
	
	if len(greaterThanList) > 0:
		sortedList.extend(quickSort(greaterThanList))
	
	return sortedList
	

def main():
	myList = [99,87,234,4,5,222,5,7]
	mySortedList = quickSort(myList)

	print "The final, sorted list is... "
	print mySortedList

if __name__ == '__main__':
	main()


 

Syndicate content