150 karma · joined February 22, 2010
> zero global state -- Make your library threads-aware, but not thread-safe!
His point is that even if you have global state and try to protect that using locks, there may be code unknown to your application that works on the same global variables and you may not be able to predict the order of locking.
He specifically mentions the example of NSS (name service switch), which allows you to optionally create and plug in shared libraries that will be invoked without the application or the core C library being modified. So for example, an admin could change /etc/nsswitch.conf to set up LDAP user logins but your application could still use getpwnam(3) without caring about whether the pw retrieved is local, NIS, or LDAP.
In any case, except for Google/Facebook-scale data and content providers, having your own datacenter for 25m users sounds premature. Many large enterprises use private clouds hosted and managed by service providers like IBM or Verizon; this makes sense when their core business is their service, not the infrastructure itself.
As an immigrant, I have little choice but to surrender much of this information anyway to stay "legal", but I don't think it's very different even for a citizen. Until most of the country is ready to act against the bigger invasions of privacy, staying away from Google+ citing "privacy reasons" sounds somewhat pointless.
http://www.scientificamerican.com/blog/post.cfm?id=you-can-i...
I suppose this might be useful to figure out potential genetic defects, but as adults, wouldn't most defects have manifested already (I'm speculating here, correct me if I'm wrong).
http://www.cancer.gov/cancertopics/factsheet/Risk/cellphones
Real operating systems have to run on a myriad of hardware and potentially interface with tons of devices and protocols, so you would need to allow programmers to go to the hardware level and read and write bytes by hand.
I didn't know the dataset was crippled, because I doubt the netflix attack would work with music.. there's no IMDB for music that acts as an independent dataset. Unless they intersect the set with last.fm, of course :)
I actually don't, being a researcher myself (not in ML, but in a field that uses a lot of it). I'm just saying that real-world datasets in the industry are nothing like the toy datasets that a lot of papers from universities are written with... there's a lot more noise, and you'd never be able to get a good classification (for example) using just one coherent set of techniques.
On the other hand, KDD/WWW/ICML and other data mining conferences are increasingly dominated by industry folks now, so my experience may not be as common anymore.
As for the former problem, cloud storage providers such as Amazon S3 already provide more redundancy for your data than you could possibly design cost-effectively on your own (in fact, they even offer a _reduced_ redundancy service if you don't want to pay for the S3 redundancy).
The latter "problem" isn't really a problem --- it's entirely up to you to encrypt the data you want to store in the cloud and keep the key to yourself, and you can easily have an encrypted frontend to your S3 block storage or even your Dropbox folder. I don't see the relevance of something like SUNDR... IIRC, it is a way to merely store your data on an untrusted service. However, most business use the cloud for computation (which of course requires storage). So SUNDR won't apply when you have to trust both computation and storage to an untrusted entity?
You could of course run a distribution on your compute node VM that encrypts data going out of the VM to the cloud provider infrastructure, but the benefit is limited because your applications are finally running on the provider's hardware. I suppose we need to wait until that homomorphic encryption stuff becomes real :)
Learned this the hard way. As an academic who used to think you could solve a problem (e.g., spam filtering) using a single model --- something we routinely do in academic papers --- I had to wait until I went to an industry internship to realize how "ugly" a real spam filtering algorithm has to be. Large mail providers see so many diverse patterns of spam that they need a complicated mix of ML models, datasets, labels, and sometimes even plain old blacklists to keep their spam under control.
* Charts (of course)
* Recommendations: I use last.fm for two kinds of recommendations: (1) where it uses listener history to figure out similar bands and albums, which in some ways is inferior to feature-based recommender systems like Pandora, and (2) where it uses neighbor listening history (e.g., neighbor radio) -- I can't count the number of times I've been introduced to awesome bands in genres I wasn't looking for just because a neighbor had it on their charts.
* Shoutboxes for each artist, album, and song: I can't count the number of times I've just instantly "loved" a song and needed someplace to shout something out with others who like the song.
Last.fm has a huge user base and should try to be a one-stop shop for music, like Netflix is for video. Here're some tips
* Revamp your business model: copy Grooveshark's business model if you have to, but get anyone who wants to listen to a song come to your site and not go to Youtube for a low-quality version.
* Increase avg. time on site: If you implement the suggestion above (where I can play any song I like), then you have a wealth of _real_ related song/album/artist to offer the user. You may be able to remove annoying audio ads and just rely on click ads. It also helps if you implement a site-wide list like youtube's playlist.
* Improve recommendations: Netflix had a decent algorithm, but conducting the Netflix prize got them a lot of publicity _and_ a much better algorithm. You could do the same with the ton of data that you have. Yahoo! is already ahead of you in this: see this year's KDD cup: http://www.kdd.org/kdd2011/kddcup.shtml
Any laptop that doesn't have a separate middle-click button (hint: made by a fruit company laptops) likely provides some multi-touch method for middle-clicking. I also haven't come across a mouse in quite some time that does not have a middle-click (I use a including an 8 year old microsoft mouse).
In contrast, I don't like some of Python's abstractions, the "subprocess" being (IMO) a particularly weird way to abstract a pipe.
This case would appeared a little less staged if the alleged rape had occurred in Assange's past. Isn't it the least bit suspicious that the alleged rape occurred soon after the Collateral Damage video leak? Assange doesn't strike me as an idiot... do you really think he would go about raping someone when he expects trouble?
Whatever event actually occurred, the fact remains that governments are making fools of themselves by trying to suppress Wikileaks through these heavy-handed measures to arrest Assange. In that regard alone, I support him.
http://blogs.forbes.com/andygreenberg/2010/11/29/an-intervie...
Three recent papers at this year's Operating Systems Design and Implementation: http://googleresearch.blogspot.com/2010/10/google-at-usenix-...