Interview with Bruce Schneier on Privacy, Security & the Future

Bruce Schneier talks about how the mechanics of privacy changed since the advent of social media, who holds control and power in the new arena, what are real issues and what are just generational differences in dealing with them. He has a lot of good analogies to make his points. 🙂

Authors@Google: Neil deGrasse Tyson

Neil deGrasse Tyson is discussing his book “The Pluto Files” … basically recounting a few thousand years of finding things in the night sky, naming them and building an understanding of what they are … case in point: (now dwarf planet 😉 ) Pluto … including his hypothesis on why Americans in particular get so worked up about Pluto not being a planet any more. 😀

The Y Combinator

I take my head off to Jim, that’s a great way to approach a weird intersection of mathematics and programming. 😉 For those who are curious … he uses a very simple mathematical algorithm to explore how you can express recursions in Lambda calculus and thus “derives” the Y combinator.

Totally useless, but worth every minute. 😉

 

Secrets of Search

Douglas Merrill from Google talks about what it takes to build a search engine for the web.

Besides that what strikes me as interesting is their choice of languages “focusing” (he didn’t exactly say that, but it’s what you understand, when he says they won a prize for it) their efforts in machine translation on: Arabic and Chinese … o.O

Default Values for Boolean Options in Ruby

Let’s say you read settings from a YAML file and have some sort of settings object. Then you check if certain options are set with custom values or you have to set default/fall-back values on them. If you are dealing with Boolean options you have to be careful … as I had to find out myself.

Initially you would probably do something like the following to set a default value on a Boolean option:

settings[:some_option] ||= true # set default value if nothing set

Do you see the problem? What happens if the option was deliberately set to

false

? You would overwrite it because both cases

nil

(i.e. nothing set) and

false

would evaluate to

false

in the context of the

||=

operator and you would in both cases assign the right hand value (and overriding an explicit user choice in one case) … *ouch*.

So the correct solution is something like the following:

settings[:some_option] = true if settings[:some_option].nil?

Just be careful … 😀

Joomla! Wold Conference 2012 Keynote: Changing the world with Open Source

Pascal Finette gave a great keynote at Joomla! World Conference 2012 talking about how Mozilla came to be and what they learned along the way. He shares insights on how to build a competitive product, a healthy community and maybe even a business around it, but developing and governing it the open source way.