> google - privacy - proxy <
Today slashdot published something about googlesharing.net, a way to search google without getting looked at in every detail by Google.
[edited for clarity 1/25/2010:] Google’s tracking of everything you search — and like — on the internet is only marginally less scary than Facebook’s harvesting of your personal data for commercial use . It’s a bit like having someone following you around town from the moment you step out of your house in the morning, and taking notes on everything you look at, intract with, purchase, etc. At the of the day that person sells that information to the highest bidding advertisement/marketing agency, or straight to WalMart. They keep records of it too for data mining at a later date (up to 9 months). During that time there is no saying that the government cannot ask for full access to these archives. And much scarier in fact, there is no saying who might be able to hack their way into these archives.
And why not? I have nothing to hide. Still, better safe than sorry. What I don’t feel the need to hide today may become something worth keeping private tomorrow, if the political or social or economic landscape changes a lot. [added 1/25/2010: ] as recently written in a CNN opinion piece: “it’s bad civic hygiene to build technologies that could someday be used to facilitate a police state” (or organized crime).
In short, I don’t believe one minute that Google has malevolent intentions, but I do very much say that they are reckless in aggregating and therefore exposing to misuse so much of our personal information. Similarly I don’t see today’s Western governments as major threats to my liberties, but (1) that could change and (2) other governments or movements could target my private info (c.f. China targets foreign supporters of civil liberties in China — just google “chinese government hacked gmail accounts” for more details..
So I say, let Google ask: Where have you been?
They don’t need to know. I’m going to try out this GoogleSharing.net thing.
I am leaving Facebook. I had been thinking about it for a while. This small piece of news 10 days ago helped me decide: “Facebook’s Zuckerberg Questions Privacy Expectations” (http://www.eweekeurope.co.uk/news/facebook-s-zuckerberg-questions-privacy-expectations-2983)
If you want to do the same, log in to your facebook account and then go straight to http://www.facebook.com/help/contact.php?show_form=delete_account
It’s too bad because some of it was pretty useful indeed. I like the service, but I cannot use it in a way that I find satisfactory for my need for privacy.
> censorship - China - google - privacy <
In an official blog post, Google states that it is no longer willing to compromise with the Chinese government on censorship — or at least not to the same extent as it has been . It may even consider pulling out of China altogether (doubtful given the number and size of business opportunities there).
Without saying so, Google is implying that the Chinese government may have been trying to hack the GMail accounts of human rights activists and their supporters in China and abroad. That, along with the censorship imposed by the post-communist government, is the moral high-ground on which Google stands.
Beyond the moral reasoning, there is a strong business motivation for Google to play hard ball with the Chinese government. Google’s core business model is compatible with neither censorship nor lack of privacy. Censorship undermines the perceived value of its search product, which it uses to collect data. And lack of privacy reminds people that Google holds a *lot* of their personal data in a form that can readily be mined, and that even if Google’s primary use of it is relatively benevolent (ad targeting), there still is a huge risk to the user: plain old Orwellian 1984-ism.
While these two reasons would not be strong enough motivation for most users to ditch Google and its brethren (in favor of what?), they might provide the basis for legal or government-level action in the US, Canada and the EU aimed at more strictly regulating Google’s main business activity — the aggregation of personal data for the purpose of targeting ads.
That could be the real threat perceived by Google.
In a typical bar-chart, the jquery plugin jqplot lets you set your x-axis labels to whatever string you want, including HTML mark-up. Imagine you have a chart showing the number of monthly downloads for prototype, jquery, and MooTools.
you might set your x-axis labels (values, to be precise) to
<a href=”http://www.prototypejs.org”>jquery</a>
<a href=”http://www.jquery.com”>jquery</a>
<a href=”http://www.mootools.com”>jquery</a>
The links get rendered in a <div> outside the canvas, but you cannot click them because the chart’s canvas extends over them.
solve it this way (using jquery for example):
$(’.jqplot-xaxis-tick’).css(’z-index’, 1000);
That sets your labels above the canvas and they can now be clicked.
Also reported at http://groups.google.com/group/jqplot-users/browse_thread/thread/bd9b9c49e609167e
> find_or_create_by_id - id - rails - seed - send <
Switching over from Zend Framework to Ruby-on-Rails presents stumbling blocks. Rails wants to manage your database from A-to-Z. Fair enough.
But. When it comes to inserting data into it via rake db:migrate or rake db:seed (the latter being the correct way of managing your data separately from your schema), you may encounter outright frustration: Rails will not let you set the id of the records!
For example, you write
Singer.find_or_create_by_id(:id => 100, :name => “Donna Summer”, :rating => 2)
but in your database, Dona’s id is just 1, or whatever the next available AUTO INCREMENT number was. I feel love — not.
There are at least two solutions, that hinge on getting around the fact the id is a protected attribute. First one:
singer.find_or_create_by_id (:id => 100, :name => “Dona Summers”, :rating => 2) {|record| record.id = 100}
or you can make use of the attributes= method of ActiveRecord::Base in the following way:
Singer.attributes=({ :name => ‘Donna Summer’, :rating => 2}, false)
The false passed as third parameter means “do not protect the protected attributes”. The RoR API documentation puts it this way:
attributes=(new_attributes, guard_protected_attributes = true)
Allows you to set all the attributes at once by passing in a hash with keys matching the attribute names (which again matches the column names).
If guard_protected_attributes is true (the default), then sensitive attributes can be protected from this form of mass-assignment by using the attr_protected macro. Or you can alternatively specify which attributes can be accessed with the attr_accessible macro. Then all the attributes not included in that won‘t be allowed to be mass-assigned.
Look it up on http://api.rubyonrails.org/