Entries Tagged 'Random' ↓

The curated internet

The website you attempted to visit has not yet been approved as appropriate content for general audiences. Either provide a certificate indicating that you have been granted a permission that overrides our default content guidelines, or submit the website for our review and approval process. In the latter case, allow at least two business weeks for the regular review process to take place. Make sure to provide a detailed motivation of why you believe that the content of the website should be accessible to the general public, and particularly, why is the purpose of the website not already fulfilled by any of the plethora of approved websites.

At the same time, for cautionary reasons and in your best interest, an incident ticket has been auto-generated by this event and your area supervisor has been notified. You are strongly advised not to leave your designated living area in the next 48 hours, to allow one of our safe content counselors to meet you and discuss about the causes of this incident and advise you on safe and compliant perusal of the World Wide Web. In the mean time, feel free to visit any of the safe, family-friendly and approved websites, such as Google, Facebook, Twitter, iTunes or many more.

Come on, this can never happen…

So what, I don’t have anything to hide…

So what, what would anyone lose…

Linkfest 2011

As 2011 approaches its end, as usual, I copy-paste the links to some of the most interesting, most over-the-top, most random and most obscure stuff I read on the internet (in English) throughout the year, in case you desperately need some reading material for dark and long evenings. Much (but not all) of the more opinionated stuff is the kind that I strongly agree with. Note to self: in 2012 read stuff that challenges, rather than reinforces your biases. So here it goes:

Motivation, lighter stuff

Ribbonfarm: In the real world. Also.

Hanging out with a different crowd.

Xamuel: ways to be more present.

Derek Sivers: flip the stick.

Changing perspective.

Anonymous psychedelic experience.

Ribbonfarm: being an illegible person.

Interesting observations, more substantial stuff

Norvig vs. Chomsky.

Ribbonfarm: Legibility.

Ribbonfarm: Bargaining with your right brain.

Daniel Mendelsohn: Arthur Rimbaud’s brief career.

Idlewords: Rocket to Nowhere – the story of the Shuttle.

Roger Ebert on why he hates 3D movies.

Less Wrong: Excuses.

Ribbonfarm: The Milo criterion.

Essay of N.N. Taleb, a summary of his ideas.

Idlewords: The social graph is neither.

Idlewords: Argentina – on two steaks a day.

RIP Michael Hart .

RIP Steve Jobs. Eulogy by Mona Simpson and by ESR.

Startups, Business, Programming

Ribbonfarm: the end of the Middle Class.

Tips for contract work on websites from a Reddit comment.

Raganwald: You need a degree for BigCo.

Why HR did not respond.

Joel: We hire the best 1%.

Joel: Architecture Astronouts.

Some of us just like to program.

Apenwarr: Interoperability, robustness, etc..

Two essays pointing out a pragmatic way towards startups.

Two other pieces of pragmatic advice on a similar topic.

The Gervais principle or office life according to The Office.

Steve Yegge: Code’s worst enemy.

Life at Google, life at Amazon, and a glimpse of both.

Don’t call yourself a programmer.

Maths, Research

Is it really power law?

Terence Tao: Problem solving strategies.

Michael Nielsen: Open access – a summary.

The Uppsala-affair.

Humorous

Two pieces lightly poking fun at Paul Graham.

How to criticize a computer scientist?

Burnout prevention at MIT.

The credit card prank.

Missy the lost cat.

As a bonus, here are the best books I’ve read in 2011:

BookBox: embed book widget, share book list

Quick web app ideas

A few quick web app ideas, not the kind that would lead to the next Facebook, but some that might be slightly interesting/useful if executed properly (for which unfortunately I have too little time, therefore this post). I’ve been pumping out these half-baked ideas at a steady rate on this blog, if you are interested in the previous ones, you could start from here.

1. Your English is so 1890.

There was a popular widget some time ago, in which you paste some text that you wrote (or it processes your blog) and through a statistical analysis of word frequencies it tells you whether you write like Hemingway or more like Virginia Woolf or like Edgar Allan Poe or whoever. Then you get a badge you can put on your blog or on your wall in your favorite social network. It was quite nice and popular, although I can’t find it anymore (EDIT: here it is).

Mine is a tweak on this idea. Google has released a data set with the frequencies of words in books throughout the years (ngrams.googlelabs.com). Say, you might find that “computer” appeared in 5% of the books in 1970 and in 15% of those in 1985 (I am making this up). So, given any year, you can easily find out how likely a certain word is to appear in a randomly picked text. With Bayes rule and some reasonable assumptions we could reverse this and for a given snippet of text, compute the probability that the text was written in 1800 or in 1850 or in 1900, etc. We would pretend that a priori the text is just as likely to come from any year. This is not exactly true, since we know the text comes from the present, or at least we know that the amount of text available from any year grows as we get closer to the present, but let’s ignore all that for a moment. It would be more fun than exact science anyway. However, it could still generate interesting comparisons between the style, choice of words, favorite topics of different people, or the styles of different authors from the past. For example we might discover that some authors had a language that anticipated (or influenced) the future, while others were stuck using the language of the past.

2. World map with radios.

Online radios are a nice tool in learning any language, but often it is hard to find suitable ones. For learning or practicing a language the topic is perhaps less important as long as it is at least mildly interesting and as long as there is sufficient amount of talking (instead of just music), with a clear pronunciation that is representative for a given language/dialect. So what I would like is a world map with a curated list of online radio stations, placed on the map with pins, and for each station it would be given exactly what language/dialect they use, approximately how difficult are the topics discussed, what is the amount of slang, etc.

3. World map with unofficial regions.

Finding a political map with the official borders for countries/states/counties/etc. is easy. There exist however, many other types of regions:

  • historical ones (those that in the past might have formed an administrative unit but they don’t anymore)
  • linguistic regions (the region where a language/dialect is spoken)
  • geographic regions not necessarily corresponding to administrative units (Silicon Valley, Gangetic Plain, etc.)
  • regions of scientific interest: (the range of the Neanderthal man, the region of influence of classical Greek culture, the range of the Bengal tiger in 1900)
  • etc.

It would be nice to have a tool for annotating maps in this way (possibly based on Google Maps) just as easily as we can add locations or paths between different points. Such regions, once drawn could be saved, embedded, printed, used in presentations, news articles, lectures, etc. or shared similarly to how users can share photos attached to places on Google Maps. Then, instead of the usual political/geographic view of the world, we could choose other filters/overlays created by others.

Another type of overlay would not have strict borders like regions, but would be a mapping of values onto geographical coordinates. The function value could be shown in colors or using contour curves or any other visualization, and the values could come from uploaded datasets or from some specified function. These types of visualizations exist of course, but I don’t know of a simple interface where users could create such maps.

4. World map live postcard.

A simple service that shows an empty world map and generates a unique url on demand. If someone visits the url, their geographic location appears on the map. This can be done of course with analytics software, but the key here is that a) this is real-time b) accessible to everyone who has the url and c) starting a new map is just one click with no registration and then the url can simply be copy/pasted and sent to others.

Example usage: I am regularly visiting a forum, I am curious where the other visitors are from, so I put the link in the message and watch the map in real time.

Example 2: I am chatting with a group of friends and I hear that a common friend of ours is ill. I create a new map, and send the link to everyone, so when they click it, they appear on the map. They can also watch as more and more people click the link. They can also leave one liner messages that will be displayed on the map next to their location. As our friend checks the link, he/she can see “get well soon” messages popping up from all over the world. This is all a bit similar to Wikipediavision, but more user-generated and with throw-away urls.

5. Centralized phpBB spam filter.

PhpBB is a robust, well-known and loved dicussion board (forum) software that has been around for a long time. The main aspect in which I find it inferior to centralized services like Disqus is spam. Spam filtering is something that is simply easier to do in a centralized way than for each individual board separately. This centralized filter would be a subscription-based API that I can call whenever I get a message on my board and it returns a spam/not spam flag. This can be integrated into my phpBB installation and the necessary action is taken automatically. This way, I wouldn’t have to bother users with captcha’s, registration, senseless restrictions, and I could still have them use the familiar interface of phpBB. If such a service works for WordPress comments and other blogging software, surely it can be retrofitted for phpBB (?).

6. Name face search.

When picking a baby name, many parents would like to find out as much as possible about it, including the history and etymology of the name, which historical persons have had that name, current popularity of the name, etc.

In this service you type in a first name and it gives you the photos of 100 random people having that name. Looking at the age of people on the photos, you can guess whether the name was more popular one or two generations ago than it is today. Also useful if you hear a name in a foreign language and you are not sure whether it is a male or female name. Images of faces can be found on Facebook or on Google Images, but there are still some technical difficulties: a) all 100 should be different persons b) the images should be filtered so that they only contain photos of people and not other random images.

Bongard problems

Bongard problems are a type of puzzle invented by Russian computer scientist M. M. Bongard, intended as challenges for pattern recognition algorithms. Regardless of the possible relevance to computer science, they are much fun simply as puzzles created by people for other people to solve. They were popularized in the Gödel, Escher, Bach book and Hofstadter himself designed many Bongard problems. Harry Foundalis has several pages dedicated to these problems, with an extensive index of example Bongard problems.

The idea of a Bongard problem is the following: given a set A of six figures (examples) and another set B of six figures (counter-examples), discover what is the rule that the figures in A obey and figures in B violate.

Here are some very nice examples of varying difficulty and a much more detailed description:
http://www.foundalis.com/res/diss_research.html

Inspired by these examples I tried my hand at making some Bongard puzzles myself. The modest result is below. If you can solve them, leave the answer in the comments.

Puzzle 1.

Puzzle 2.

Puzzle 3.

Puzzle 4.

solutions

Linkfest third part

In the final part (for now) of the series, here are some of the most interesting blog posts, essays, articles I read online (in English) during 2010. Maybe you find something interesting to read that you missed until now. Enjoy!

Engineering, hacking

Erik Naggum: S-exp vs. XML (the mother of all rants)

Linus Torvalds on why he prefers C to C++

Alan J Perlis: Epigrams on programming

Catalog of anti-patterns (from the wonderful C2 wiki)

Bruce Schneier: What is a hacker?

Interview with Donald Knuth

Steve Yegge about the features of great software systems (really long, but well worth the read)

Interesting quotes (mostly computer science related)

Steve Jobs interview from 1993

I have an idea, I just need a programmer

Larry Wall’s virtues of a programmer

Clay Shirky on why “semantic web” is missing the point

Shigeru Miyamoto on the design of Super Mario

The New Yorker article on Perelman and the Poincaré conjecture

Observations

“Too much time on his hands” – how to reply to possibly the most annoying comment (Cory Doctorow)

The Shirky principle

Eliezer Yudkowsky: The fallacy of gray

Addicted to fake achievement (observations about computer games and again, about the type of praise to give to children)

Conway’s law (an observation about organizations)

Motivation, useful tips

John Perry: Structured procrastination

How to vanish in America (some interesting tips, should you ever need them :) )

Useful writing tips from famous writers

The use of apostrophe in English (can’t be repeated enough)

Reddit AMA: from computer science to lumbering industry

How to afford anything (some nice tips on frugality)

Derek Sivers: This is only a test

Steve Pavlina: 10 reasons not to get a job (oldie but has some good points hidden there) and Tim O’Reilly’s more insightful Work on stuff that matters

Piotr Wozniak’s article about sleeping (in short: forget the alarm clock)

Funny

Bic ballpoint pen review

Microsoft humor skills (might be a meta-joke)

Two reviews of Stephen Wolfram’s NKS book. And some more.

Linkfest second part

To continue, here is some of the best stuff I read (online, in English) during 2009. The previous list is here.

Engineering, hacking

Wolfram Alpha and hubristic user interfaces (not entirely fair but still insightful and entertaining).

Donald Knuth: Computer programming as an art.

Two rants related to web programming: on template engines, on database abstraction layers.

Why is programming fun (from Fred Brooks’ mythical book).

Mark Tarver: Hackers and fighters (a bit simplistic, but nice)

Paul Buchheit on hacking

Derek Sivers: going back to PHP

Sandbox vs. themepark in computer games

Philip Greenspun: Tips for startup companies

Research

Scott Aaronson: academic stand-up comedy

Feynman on teaching (again, some pages from the highly recommended “Surely you are joking … ” book)

More grad school advice (these are from Manuel Blum)

Ben Tilly: Teaching linear algebra (an interesting approach)

Doron Zeilberger’s opinion on the shocking state of mathematics

Misc.

The lost art of sharpening a pencil

What to eat on a deserted island

Status in improv theatre

Wikitravel: common scams and basic haggling (fun and useful)

Nutrition science and pseudoscience

Funny: Reddit surprise party question

Parenting, smart vs. hard working, etc.

3 parts of news stories we don’t get

Linkfest first part

I’ve been going through a list of links that I bookmarked at some point in the past and I thought I might share a selection of them. This is an eclectic mix, with no common theme other than the fact that I found them interesting sometime around 2007-2008 and I still do for the most part. So, if you just ran out of things to read on a train, on an airplane or on the toilet, take a look at these:

Engineering

Extreme programming (Yossi Kreinin’s look at methodologies)

MetaCrap (Cory Doctorow’s 2001 piece on the metadata utopia)

Why I hate frameworks (Benji Smith’s timeless rant)

Alan Kay: Predicting the future (and the best way thereof etc. etc.)

Peter Norvig: Teach yourself programming in 10 years (why all the hurry)

Side projects (why you should have one)

Aaron Swartz: Genius is in the details (not all abstraction is good)

Steve Yegge: Done and gets things smart (and not (only) the other way around)

Clay Shirky:  A group’s worst enemy (spoiler: is itself)

Research

Richard Hamming: You and your research (“If what you are doing is not important, and if you don’t think it is going to lead to something important, why are you working on it?”)

Some advice from John Baez

More advice from Terence Tao

Terence Tao: What is good mathematics

Ten lessons from Gian-Carlo Rota

Two depressing but well argued opinions about CS and academia:

Why I am not a professor and What’s wrong with CS research

So long and thanks for the PhD

Paul Krugman: How I work and Incidents from my Career

Doron Zeilberger: Use the blackboard

Theodore Gray and Jerry Glynn: Software in mathematics education

Pseudoscience

Feynman: Cargo Cult Science (from the book “Surely you are joking, …”)

Wikipedia: list of fallacies

Wikipedia: list of anti-patterns

Wikipedia: list of cognitive biases

Crackpot index physics

Crackpot index number theory

Meta-proof

Ten signs breakthrough is wrong

Pseudo-linguistics

Economics and misc.

Paul Graham: The power of the marginal

Bruce Schneier: The value of privacy (if you do nothing wrong, you shouldn’t have anything to hide, right?)

Bruce Schneier: The psychology of security

Bruce Schneier: Snakeoil security

Semyon Dukach: Reasons for the crisis

Ten lies told to naive artists and designers (and programmers)

Software business (just some observations)

Scott Aaronson: Who can name the bigger number

Eliezer Yudkowsky: Superstimuli

Ask reddit: what’s your favorite joke

Smooth colour clock

This morning on HN: The Colour Clock (notice the .uk in the domain :).
An elegant clock with changing background color. The exact color is obtained by interpreting the hour, minute, second values as describing the Red, Green, Blue components of the color.
Link here.

The original was in flash, but Brian Collins quickly put together a version using HTML, CSS and JavaScript.
Here is his version:
http://brisy.info/colors/

My only tweak on this idea is to make the color-cycle continuous. When the seconds move from 59 to 00 there is a jump in the Blue value from maximum to minimum, which means a not-so-smooth transition in the background color.

To overcome this, I make the Blue value alternate between going up and coming down, depending on whether the previous value is odd or even. Similarly for the Green value (minutes), depending on the hour value. The Red (hour) value will go up or down according to the parity of the number of days since some remote date in the past. The javascript/jquery code achieving this can be examined (it is just a minor modification of Brian’s code). Now the clock still cycles through all colors but without sudden jumps (and now the numbers are harder to interpret directly as colors).

Here is the working version:
smooth cycling color clock.