Configuring/Hardening Firefox for Security and Privacy
- dom.event.clipboardevents.enabled => false
- clipboard.plainTextOnly => true
- referer spoofSource => true
A primer/refresher on the category theory concepts that most commonly crop up in conversations about Scala or FP. (Because it's embarassing when I forget this stuff!)
I'll be assuming Scalaz imports in code samples, and some of the code may be pseudo-Scala.
A functor is something that supports
|* Fancy ID generator that creates 20-character string identifiers with the following properties:|
|* 1. They're based on timestamp so that they sort *after* any existing ids.|
|* 2. They contain 72-bits of random data after the timestamp so that IDs won't collide with other clients' IDs.|
|* 3. They sort *lexicographically* (so the timestamp is converted to characters that will sort properly).|
|* 4. They're monotonically increasing. Even if you generate more than one in the same timestamp, the|
|* latter ones will sort after the former ones. We do this by using the previous random bits|
|* but "incrementing" them by 1 (only in the case of a timestamp collision).|
|* writing lines of code is one of the least valuable things I can do|
|* cultivate your impatience|
|* reject the status quo, unless we can re-derive it from first-principles|
|* engineers imprint on the first languages (techniuqes, frameworks or technology) that we find success with (unconsciously seen as caregivers, which we defend w/o always knowing why)|
|* we tend to overvalue the familiar/known; we tend to undervalue the unfamiliar/unknown, this interferes with our receptiveness to new ideas and personal growth|
|* we're 90% composed of bad habits; many of our best habits become bad as time passes; this allows us to filter for the fundamental; the great|
|* make doing the right thing easier than any other thing, or we will fail to achieve greatness, or break bad habits|
|* be conscious, be intentional|
|* "is this the highest we can aim?" (I prefer this over "is this the best we can do", the former is aspirational, the latter is judgemental)|
Software components used:
A friend asked me for a few pointers to interesting, mostly recent papers on data warehousing and "big data" database systems, with an eye towards real-world deployments. I figured I'd share the list. It's biased and rather incomplete but maybe of interest to someone. While many are obvious choices (I've omitted several, like MapReduce), I think there are a few underappreciated gems.
Dryad--general-purpose distributed parallel dataflow engine
Spark--in memory dataflow
The reason why you might get certificate errors in Ruby 2.0 when talking HTTPS is because there isn't a default certificate bundle that OpenSSL (which was used when building Ruby) trusts.
Update: this problem is solved in edge versions of rbenv and RVM.
$ ruby -rnet/https -e "Net::HTTP.get URI('https://github.com')" net/http.rb:917:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)
You can work around the issue by installing a certificate bundle that you trust. I trust Mozilla and curl.