All timestamps are based on your local time of:

[ « Newer ][ View: List | Cloud | Calendar | Latest comments | Photo albums ][ Older » ]

De-google-ifying2012-01-26 01:47:36

With Google changing their privacy policies on March 1st, I finally had a deadline that I could use to combat my procrastination. So today I took a large step in extricating myself from Google dependencies; that of switching away from GMail and wiping down as much of my Google account of data as possible.

I've been using customized emails for all my online accounts (banks, etc.) for a while now, so I didn't have to update anything on that front. Downloading all of my email out of GMail and wiping it clean was also trivial with the mail downloader I wrote a while back. I also set up the GMail account to forward (and then delete from Google's servers) any stray email that comes in.

The main problem, which took me nearly a couple of hours, was extracting the list of people I needed to notify of my email address change. To do this I grepped all of my downloaded GMail messages for the "From" header, and then used a combination of sed, sort, uniq until I got a frequency-sorted list of all the email addresses that had sent me email. After a few more greps to get rid of obvious stuff (tech support, mailing lists, etc.) I was down to ~1400 addresses. I then had to sift through the results manually and extracted the 100 or so people from whom I could expect to receive email in the future, and to whom I sent out a change of email notification. I'll need to make sure I keep enough metadata in my new email/contact list to make this process less painful if I ever have to do it again.

Other than GMail, I didn't have very much in my Google account. The Google dashboard made it pretty easy to find it all - I exported a copy of whatever was in Google Docs and then unsubscribed myself from those documents, unsubscribed from the Google Groups I was a member of, and deleted the one calendar event and analytics account I had from long ago, and erased the mostly empty orkut and Youtube profiles.

The one problem I now face is that I do actually want to remain subscribed to one of the groups I was in, and it seems to be hard (if not impossible) to do that without a Google account. If it comes to that I can use a secondary Google account for this purpose; I'm still satisfied by how much I was able to reduce the surface area exposed to Google.


Blog comment spam2012-01-22 23:18:55

Since spambots/humans-for-hire seem to be getting through my captcha and posting spam comments on this blog more frequently, I've added another layer of security to deal with it. If a comment is posted by a user that is not logged in, then the comment will not appear in any RSS/Atom feeds until it has been approved by me. If it's spam, I'll just delete it so it will never show up in the feeds. It will still show up on the site as part of the comments under a blog post, though.

This should prevent the most common annoyance - spam comments showing up to users following this site via RSS - while not affecting anything else. In particular, if there's a lot of comments coming in on a particular post, some of which are spam and some not, and I happen to be away from a computer and cannot approve the comments, people who are posting in the comment thread will still be able to see the full comment thread and reply to the unapproved comments.


SOPA2011-11-22 08:40:16

XKCD had an interesting comic up yesterday - it wasn't a comic at all, but a visualization of the distribution of wealth. There's lots of interesting things to be gleaned from the visualization, but I want to focus specifically on megaprojects. The one megaproject I was expecting to see listed there but didn't was the Internet itself. I'm guessing that the cost of building the Internet is probably greater than most, if not all, of the other projects listed there.

The reason I bring this up is, of course, SOPA. For those of you who have been living under a rock, the Stop Online Piracy Act being pushed by the recording industries effectively destroys the Internet as we know it. It's pretty ridiculous when you think about the amount of time, money, and engineering effort that has gone into building the Internet, and how quickly it could be thrown out the window by a bunch of lobbyists.

There have been a number of blog posts recently about how SOPA is evil, so I'm not going to go into that. Some of these bloggers claim SOPA's true purpose is to control/destroy the Internet, but I prefer not to attribute to malice that which can be attributed to stupidity. I think the recording industry is flailing about and trying pretty much anything they think has a chance of stopping piracy. That just makes it even more of a shame that one of these things is the destruction of the Internet.

While stopping SOPA is good and all, I think we need more. We need to ensure that random industries flailing about like this don't have the ability to wipe out one of the greatest human inventions, and what has become one of the largest pieces of global infrastructure.

There are probably lots of different tools we can use to do this, and the one that comes to my mind is to first acknowledge that the Internet is actually an engineering project, not some sort of playground for politicians. Requiring the approval of the IETF on any major changes of this nature should be a requirement. Anything short of that should be illegal, since the practice of engineering is restricted to licensed professionals in the US. As engineers, we're a long way from being able to do something like this, simply because formal practice of engineering isn't as highly valued within the software/computer industry. That really should change, if only to be able to try and stop things like SOPA.

(Yes, yes. When I have a hammer, everything looks like a nail.)


Walking the knowledge graph2011-11-12 01:45:09

Over the last couple of years I've noticed an interesting phenomenon - my list of books to read seems to be growing almost exponentially. I find that every book I read leads to me adding a few more books to my list because they branch off into interesting related areas from what I just read.

In my head I visualize this as a graph where you start at some node (i.e. a subject area) and traverse outwards to connected nodes (other subject areas). What's interesting is that in the frontier of nodes that you have not yet visited (i.e. the subject areas most related to what you already know), the likelihood of you visiting a node (reading up on a subject) increases with the edges that connect it to your already visited nodes (how much it interacts with things you already know).

The main consequence of this, and what is resulting in my exploding reading list, is this: the more you read and learn, the more interesting new things become. You end up being able to relate the new subject areas to things you already know, and the more you know, the more this happens.

Another thing that's interesting about this process is that if you start at a subject area that you're passionate about, you have an intrinsic motivation to learn about related subject areas. This means you visit frontier nodes more efficiently, and reach the point of "everything is interesting" sooner. (This is defined to be when your reading list consists of every book you haven't already read.)

In contrast, if you are forced into the graph at a particular node (say by taking university courses you have no interest in), then you have no motivation to reach out to other adjacent nodes. This effectively kills your desire to learn, unless you are able to start over from another node that you do have an interest in. Unfortunately that seems to happen pretty rarely.

There are of course scenarios in between these two extremes as well - it may be that the area of the knowledge graph you're in is fairly sparse and so your visited nodes don't connect to a lot of other nodes. In this case you might have a harder time finding related areas that interest you. In that case you could just pick the thing that seems most interesting, or even just pick randomly, and hope for the best. As you visit more nodes, you're bound to hit a denser part of the graph sooner or later.


Convergence2011-11-09 08:30:01

You may have heard of Convergence, an SSL-replacement which replaces the centralized CA-chain architecture with a more decentralized notary-based architecture. You can specify which notary servers you want to use, and those servers are used to verify that the SSL certs your browser loads aren't being tampered with.

There are a number of things that I find particularly cool about this. The most obvious is the decentralized architecture, which should come as a surprise to nobody reading this blog. The first thing I did was get my own notary server up and running, which turned out to be pretty easy using an EC2 instance. If you want to use it, here is a link to the notary file.

The next think I like about it is that it comes with an SSL fingerprint cache on the client side, which by itself could eliminate spoofing on sites you visit frequently, since you'll have the fingerprint cached and can detect if the SSL cert you're getting doesn't match.

And finally, I like how simple to use it is. Assuming you're using Firefox, anyway. Just download the add-on and that's pretty much it. If you understand the architecture of the system, all the configuration options are intuitive and what you'd expect.

Anyway, I recommend you give it a whirl. I've only found one problem with it so far (I can't access my router via SSL while it's enabled) but that seems to be a bug in the router's SSL implementation that I'm trying to track down.


The narrowing palate2011-10-22 16:12:36

It occurs to me that very rarely do people go out and find a new kind of food in nature. I assume this used to happen fairly regularly in the paleolithic era when human were hunter-gatherers, but not so much now that we have agriculture. However, it is not uncommon for people to stop eating a particular kind of food. This could happen for any number of reasons - a particular food becomes socially unacceptable, it becomes extinct, etc.

What this means is that the set of foods that humans (all across the world) eat is gradually dwindling - we stop eating certain foods and don't really start eating other, new foods. Working backwards from this hypothesis, it seems like in the past, humans must have had a much larger variety of food that they ate. Perhaps they even included things like flowers as a regular part of their diet. It makes me wonder if scientists/anthropologists take this sort of stuff into account when trying to determine the diet of early humans.


Real-world graph problems2011-09-30 10:01:46

I've spent a bunch of time over the last few weeks walking and biking around downtown Toronto, and it seems to me that the whole "right-turns-only is more efficient" argument doesn't apply here. Whenever cars want to make a right turn in Toronto, they end up having to wait an absurdly long time for pedestrians to finish crossing. Also the right lanes on most streets are filled with all manner of parked cars and service vehicles, so anybody wanting to stay in the right lane needs to keep merging in and out of the left lane to avoid these obstacles.

Given the gridlike arrangement of the streets, it seems to me that the most efficient route between any two points would involve exactly one turn, which would ideally be a left turn at an intersection with an advance green. In practice you'd probably need multiple turns to avoid going down one-way streets the wrong way. Also avoiding streets which have streetcars but not a dedicated streetcar lane is a good idea, since cars have to stop for streetcars that are loading/unloading passengers, and this causes traffic to back up.

I wonder if UPS/FedEx take these things into account when they plan their delivery routes...


Apple wins with Lion2011-07-20 10:10:59

There's a really really long review of Mac OS X Lion on Ars Technica. The changes Apple has made blown my mind. Completely.

Here's a company that has a winning formula in the Mac, and do what no other company would dare: radically change large pieces of the UI. Mostly for the better, but it's a huge risk. Take switching scrolling direction. Now, if you do the two-finger swipe down, instead of going down in the document, you're going to go up. It effectively changes from you controlling the viewport to you dragging the document. Why change scrolling behavior that's been around for decades? Because it was done wrong the first time. As iOS showed, dragging the document allows you to get rid of scrollbars and is more intuitive for the user. On the desktop it doesn't make much difference either way, but if you look at the sum of the experience across platforms, document-dragging is strictly superior. So, for consistency, they decided to change it on the desktop too, despite the fact that it breaks with how things have been done for decades.

The Ars article is full of these sorts of examples, and I'm astounded and excited that Apple had the guts to do some of these things. I'm also glad they implemented the permission-based file access idea I described nearly 4 years ago. Although I'm not really happy with how they just pulled in the permissions/entitlement model from mobile platforms wholesale. More on that later though.


Thoughts on RIM2011-06-30 15:05:21

It's been exactly a year (plus/minus a couple of hours), since I left RIM. RIM has fallen quite far behind its competitors in the last 12 months - much more than I thought would happen. There was a letter published today on today by a "senior RIM exec" basically ranting about the state of affairs at RIM. The letter is interesting, not because it contains anything new, but because it doesn't contain anything new. That letter would have been just as true when I left a year ago as it is today. Unfortunately, the letter itself isn't going to help, because RIM senior management already know all the issues they're facing. The only thing the letter will do is affect public perception of RIM unfavourably.

I remember when I started working at RIM, I loved it. I was proud to be part of that company, part of the team that built the BlackBerry. I knew that my work was going to be used by millions of people. That motivated me tremendously, to the point where I'd go in and write code late at night or on weekends sometimes even though there was no looming deadline or real need for it. When I left, the total opposite was true - there was a drive to get people to work evenings and weekends to get things done, but I consciously chose not to, because I felt it was a waste of my time. Somewhere along the way I lost the pride I had in RIM and my work, and once I realized that, the only reasonable option left for me was to leave RIM. And so I did.

I think one of the reasons I lost the pride I had in RIM is that they stopped having a mission statement. They used to have one - I don't remember exactly what it was, but it was something to the effect of providing the best value to their users. I do know that when I first heard it, I was impressed. I also know that when I tried to find the mission statement a year ago to try and regain some of my pride and sense of purpose, I wasn't able to. It wasn't on their website, wasn't anywhere to be found in the intranet hellhole called LiveLink, and wasn't posted in the lunch rooms like I remember it used to me (although to be fair I'm not sure if I'm misremembering that one).

I don't know what RIM can do to pull itself out of its current death spiral. I'm not sure if there is anything it can do. There's just so much wrong on the inside. But that's not necessarily a bad thing. As I've said before, everything comes to an end, and that includes products and companies. Maybe RIM falling apart will create some space for a new company that better fills the need people have.

[ 1 Comment... ]

IPv6 enabled!2011-06-06 10:01:17

This website is now IPv6-enabled. There should be a little message in the footer of every page indicating whether you are accessing it via IPv4 or IPv6. If you have an IPv6 connection set up, but your browser is defaulting to IPv4 anyway, you can add "2607:f298:1:106::ddf:7e9e" to your /etc/hosts file (and possibly restart your browser) to trick it into using IPv6.


[ « Newer ][ View: List | Cloud | Calendar | Latest comments | Photo albums ][ Older » ]

(c) Kartikaya Gupta, 2004-2023. User comments owned by their respective posters. All rights reserved.
You are accessing this website via IPv4. Consider upgrading to IPv6!