Go: Why I ♥ Google

Christmas came early this year.

Glenda2Go

Today, Google announced their new open source systems programming language: Go. I’m super excited about this, we all have been wondering what Rob Pike has been upto since he joined the big G, and now we know. Not just that, but Ken Thomson, Robert Griesemer, Ian Taylor and Russ Cox were all involved in the project, with Ken doing what he does best, writing compilers in lightning speed ;) If that isn’t a list of heavyweight respectable computer scientists, I don’t know what is!

I think Go is poised to be the dominant systems programming language of the future. Go has nailed almost every aspect of a systems language, though some would say I’m biased. Go has been strongly influenced by Oberon, CSP languages like Limbo, and the standard libraries have tantalizing similarities to Plan 9. We’ve had Limbo and Plan 9 for a while now (more than a decade), but this is where my real love for Google begins to bubble, they took something awesome but unpopular and gave it a push to the masses. There are very few companies in the world who would attract the talent to do this, and even fewer who would open source the results. The attention Go has been getting is just mind blowing. Pike had been doing amazing work at Bell-Labs for quite a while, but none of it even got an inkling of the publicity Go is currently getting.

Google was what Pike needed to prove Utah2000 wrong.

I know one thing for sure, I’ll definitely be using my Plan 9 virtual machine a lot less; now that I can write clean concurrent programs that don’t make my head hurt, both in Linux and OS X. And GCC, I’m not shedding any tears while I bid you goodbye.

On another note, Google also announced today that they’ll be sponsoring free WiFi at a whole bunch of US airports this holiday season. For all its faults, Google definitely seems to be doing the right thing. For how long, it remains to be seen, but so far I’d say their track record has been better than excellent.

UPDATE: John Gruber points out that “judging from the copyright statements, [Go is] not an official Google project”. Could this be a result of the famous 20% time scheme?

Posted by Anant on November 11th, 2009 in FOSS, Google, Mozilla, People, Plan9, Programming, Technology | No Comments

Identity on the web is broken

The mere presence of systems like OpenID, Facebook Connect and a host of other identity services on the web today is attestation to the fact.

Authentication should be a feature of the protocol, not something that relies on hacks like cookies. 99% of websites today rely on cookies for authentication for their websites, besides offering custom registration and login pages. This means the browser, as the user’s agent, has no clue of what is going on. A user is forced to manually track myriads of accounts, remember passwords for each of them, and remember what personal information each of them holds. Sure, part of the problem is solved by using password managers (like the one in-built into Firefox, or external programs like 1Password), but even these programs rely on heuristic algorithms to determine if something looks like a login credential or not. There’s no explicit way for web pages to tell your browser: “This is a login form, please fill in details of the user’s identity here” or “These pages are privileged, please give me the user’s identity”. Why is that?

Actually, there is such a mechanism: HTTP based Authentication has been a feature present since HTTP/1.0, but only 1% of sites actually use it. The reason for that is purely cosmetic, most browsers display a very bland modal dialog when it encounters a page that requires HTTP Auth, and sites are unable to customize that interaction. So, the technically right way to do things sucks from a user experience perspective, and websites started adopting alternate means. Someone discovered they could use cookies to store session information on the client, and the whole situation exploded ever since. As a programmer, I feel very sad when I think about the fact that instead of fixing the problem in HTTP/1.1, web-based authentication took the route it did and led to the mess we are in today.

However, I must also state that HTTP authentication doesn’t solve the entire problem – there is still the issue of users having to create an account for every site they want to be part of. This is because there existed no protocols to federate and provide decentralized authentication. That is, until OpenID and OAuth came about. Now we’re at this exciting juncture, and the browser is in a unique position to use these tools together to provide the user with an experience that is secure and easy to use. Every architect will agree that it is indeed a fun challenge to use the state of identity on the web today and make it into something awesome.

This is precisely what the Mozilla Labs team has been thinking about for a while now. Sometime ago, we added support for automagic one-click OpenID logins to Weave. We plan to spin that “feature” out into it’s own extension and build on it, something we call “Weave Identity“, part of the broader “Open Identity” initiative by the Labs. “Weave Sync“, the original extension, will just focus on the synchronization parts so we can tackle these two different problems separately.

So, how exactly are we planning on doing this? Take a look at an initial version of a document describing an in-browser “Account Manager“. We’ve also put up a WEP (which expands to Weave Enhancement Proposal, by the way) describing the raw form of a specification for automatic actions on websites, such as user registration or password changes.

Keep in mind that all of this is in its very early stages (pre-alpha); but that also means it’s a great opportunity for the community to get involved! What are your thoughts on Open Identity? Use the discussion tab on any of those Wiki pages, start a thread on the Mozilla Labs group, or simply leave a comment on this blog entry, and chip in – we’d love to hear from you!

Posted by Anant on November 3rd, 2009 in FOSS, Mozilla, Technology | 5 Comments

Labs Night: Openness and Competition

Last night, Joseph Smarr from Plaxo was our guest speaker and he talked about how the “web is going social”, and how the “social web is going open”. We discussed all the elements that make up the social web today: identity providers, social web providers and content aggregators, and how each of  them are leveraging open standards and protocols such as OpenID and OAuth to create better experiences for their users. Check out his slides here.

This talk was a nice prelude to some interesting discussion about the role that the browser can play in handling the user’s data and identity on their behalf. Very relevant to this was also the recent experimentation by Weave on identity in the browser, and Myk gave us a demo of the auto-sign-in features.

Labs Night is also a chance for everybody to talk about cool stuff they’ve been working on, so Brandon gave us an update on what’s new in Ubiquity 0.5. There’s some really neat stuff in there: Ubiquity is possibly one of the first pieces of software that perform truly internationalized natural language parsing (0.5 rolls out with support for Japanese and Danish). Do check out this blog post for a detailed discussion of the features in 0.5.

I followed with an update on some of the work I’ve been doing with Jetpack – namely providing the capability for “jetpacks” to record audio. The code to enable this is checked into the repository, but you’ll have to wait until a release later this month if you’re not feeling brave enough to build the extension from source to play around with it. I was especially interested to know the kinds of applications that might be possible with this capability, so you if you have any ideas, I’d love to hear them. Myk also gave us a demo of the new streamlined way of subscribing to feeds using Snowl, check out this release announcement for more details on what’s new with the message reader you know you want to use!

Paul Tarjan from the Searchmonkey team at Yahoo! gave us some really cool demos demonstrating Searchmonkey Objects and YQL. I’m especially excited about YQL because it can make some of the back-end ubiquity code really simple and efficient. Incidentally, the Bing team was here at Mozilla just a couple of days ago and they also demoed some features similar to Searchmonkey Objects, albeit restricted to video and snippets of data for now.

Search is starting to feel exciting again, a sentiment similar to one we feel in the browser space today. There’s a lot of innovation in the area outside of the big daddy, and it is indeed heartening to see that major players in the web are beginning to recognize the importance of openness and competition :)

Labs Nights are monthly events, so we look forward to seeing you sometime in July to discuss more cool stuff that everyone’s been working on!

Posted by Anant on June 27th, 2009 in FOSS, Hacks, Mozilla, Technology | No Comments

The Summer of Code is here again!

It’s that time of the year. Google is, yet again, sponsoring students to write some awesome open source code this summer. If you’re a student, and you’d like to make some money contributing to some of the most well known and exciting open source software projects out there, you’d be missing out on a lot by not applying.

If you’re wondering about what the best way to get started is, check out this great advice page. All projects have also been tagged by programming language and field in this delicious profile. You can also search for ideas here.

I’m going to be mentoring for Mozilla, Glendix (under the Plan 9 Umbrella) and Gentoo this year. Get in touch if you’re interested in any of those ideas :)

The window for applications opens in a few hours. Good luck everyone!

Posted by Anant on March 23rd, 2009 in FOSS, Gentoo, Glendix, Google, Mozilla, Plan9, Programming, SoC, Technology | No Comments

Ghosts I-IV (and the best music of 08)

I was going through Last.FM’s Best Music of 2008 charts when I came across Nine Inch Nails’ album Ghosts I-IV. What really caught my eye was not that it was 4th in the top albums chart, but that the music was licensed under the Creative Commons Attribution-Non Commerical-Share Alike license!

In addition to the slew of albums available under similar licenses on Jamendo, it is heartening to see more mainstream music opting for this method of distribution – even Radiohead experimented with it not long ago.

The best way for us to fight the RIAA is by encouraging this type of music distribution, which directly pays the artist. Let’s not forget that associations like the RIAA are chiefly responsible for several draconian laws that plague our society today, and are also the primary driving force behind DRM technologies. Gone are the days where you need large amounts of money to produce and distribute your work of art. As I said earlier, the whole point of technology is to make things cheaper, faster and better for everyone involved, cutting out the middle-man wherever possible.

This holiday season, play your part by going and buying DRM-free music directly from the artist. It’s the least we can do to show that this open form of distribution actually works. My recommendations: Ghosts I-IV and The Raghu Dixit Project. Or sample music from Magnatune and then buy tracks that you like! Alternatively, pick out music from Jamendo and then donate to artists of your liking. A meal at your favorite fast-food restaraunt is all you have to sacrifice for the act :)

Posted by Anant on December 9th, 2008 in Life, Music, Technology | 1 Comment

EU_MozCamp and Friends

I’ve been doing a lot of traveling in the past few weeks, starting with the really exciting “Northside Weekend” at the Dutch towns of Tolbert and Groningen. Copious amounts of embarrassing pictures were generated on Facebook: I wouldn’t expect any less from a group of 60 students hanging out over the weekend :)

Allowing for just enough time to recover, I had to write my final exam for the Parallel Programming course. Having courses compressed into such short time periods can be both and good and bad, I guess I will decide for myself when the results come in!

I left almost immediately after the exam to catch a flight to Barcelona, for EU MozCamp 2008. There was a Labs Session at the Facultat d’informàtica de Barcelona the next day, part of Dan and Aza’s Europe tour. I managed to reach just before the session ended, thanks to me getting lost and then someone pointing me to a different place in the opposite direction. thunder, aza and myself then traversed the excellent Metro system in the city, to catch up with cbeard for lunch. I had my first experience with Tapas, and it wasn’t bad at all – the fact that thunder knows spanish helped a lot. mconnor joined us shortly after. A fabulous dinner later, we were all set for the first day of MozCamp :)

Most Mozilla events are all about meeting new people and catching up with people you knew already. I made the most of it, it was nice to see faces back from Mountain View, and some new ones. Aza was scheduled for a Labs keynote on the first day, which was pretty good. Unfortunately, he seemed to have contracted food poisoning, or maybe just general exhaustion and insomnia from the whole Labs Europe tour; so they postponed the session on Ubiquity to the next day. David Ascher’s talk was fantastic with some really cool demos, Thunderbird 3 is going to be prodigious! We had a session on Weave that evening, which also went off reasonably well, though the audience seemed more focused on the legal and privacy aspects of the project. Not a bad thing, just not interesting to me – I’d rather think and talk about technical challenges ;)

I had the wonderful opportunity to have dinner with Mark Surman, Executive Director of the Mozilla Foundation. I also met up with Suneel who had just recently joined Mozilla at Mountain View, and we all had a great time! mconnor had to stay awake a little later than the rest of us, to prepare for his talk the next day.

Highlights of Day 2 were mconnor’s talk, 2010 goals discussion and the session on Ubiquity. I also had a brief discussion with Dan on some of my plans for Weave 0.3, it’s going to be awesome! Labs team did a little sightseeing that night, and then caught up with John Lilly, accompanied by his wife, for dinner. A perfect end to an excellent weekend.

Thanks Mozilla Europe, and Barcelona!

Posted by Anant on November 3rd, 2008 in Conferences, FOSS, Fun, Life, Mozilla, People, Places, Technology | 1 Comment

Exciting Happenings at Mozilla

Mozilla is making great strides towards making impacting innovations built on the open web. If you haven’t already heard, the always awesome Chris Beard was appointed as Mozilla’s Chief Innovation Officer. He’ll be heading the newly formed Developer Tools Lab which was formed after the co-founders of Ajaxian, Ben and Dion, were hired by Mozilla. That’s in addition to his existing responsibilities with Mozilla Labs and Evangelism.

I feel extremely privileged to be working with a group of such brilliant people :)

With projects like Geode, Ubiquity, Weave, and Snowl already on the table; I simply can’t hold my excitement in anticipation of the great things that are to come out from Mozilla in the near future!

Posted by Anant on October 14th, 2008 in FOSS, Mozilla, People, Technology | No Comments

The FOSS.IN/08 Omelette

Atul recently posted an update on why FOSS.IN/08 is going to be a lot different than previous incarnations. This has already caused a bit of a stir in the both the Indian and International FOSS communities, just going to chip in with a few thoughts.

The goal of the conference seems to be encouraging Indians to create innovative pieces of free and open source software, rather than just contributing tiny bits by doing jobs “no one else wants to do”; read packaging for distros and localization. First off, that is just downright insulting to everyone who has being helping out in those areas so far – undoing months of evangelism in just one sentence. I understand that FOSS.IN isn’t about evangelism and philosophy, but I think it is a bit much to actively undo work that others have been doing. FOSS.IN is India’s largest conference on free and open source software that fair amount of people look upto – a statement like that from the team runs the risk of pushing potential localizers away – harming the FOSS ecosystem rather than helping it. I am sure that’s not the intention of the team, but “low-hanging fruit” is a poor choice of words at best. It’s fine to change the focus of the conference, but it’s possible to have done that without labeling other aspects of FOSS that you don’t want your conference to be about.

The second thing that puzzles me is the choice of putting the “spotlight on Indian contributors”. Given the goal of encouraging more Indians to make significant contributions to FOSS, I don’t see how eliminating international speakers helps. FOSS.IN, being hosted in Bangalore, is going to attract only Indians as delegates, why does it matter if the speakers are Indian or not? I am sure delegates at the conference care more about what the speaker is talking about rather that his/her nationality. In fact, nationality isn’t even relevant to FOSS in any manner. If the number of talks by Indians was seriously low last year, I don’t forsee much change this year either – simply because there are more contributors who are not Indian – a “problem” that FOSS.IN wants to “fix”; but again, how does selecting fewer talks help achieve that? Also, if there are going to be fewer foriegners at the event, why bother organizing “light Indian entertainment”? ;-)

Lastly, I see FOSS.IN is drastically narrowing down on its target audience. In fact, I think there is nobody who falls under the category of the ideal participant in FOSS.IN/08. The conference is not for the “newbies”, it’s not for those who wish to help with localization, but rather for those who already possess the technical skills to contribute “significantly” to FOSS. Now, if they bothered to register for FOSS.IN as a delegate, they obviously know what open source is about and have initiative. Given all these conditions, I am sure they already have everything they need to start contributing, why do they need to attend the conference?

In the end, is FOSS.IN/08 just a giant hackathon? Where people just sit down and write code? You don’t need an elaborate 5 day “conference” hosted in Bangalore to do that.

</rant>

I do look forward to the results of this massive “experiment” :-)

Posted by Anant on October 2nd, 2008 in Conferences, FOSS, FOSS.IN, Technology | 3 Comments

When innovation doesn't reach the people…

…you know something is wrong.

This is a rant I’ve been wanting to do for a long time. It costs cell phone operators practically nothing to deliver an SMS within their own network, and maybe a little to deliver it to another network – so why do they charge the end user so much? Would a broadband internet subscriber agree to paying 10 cents for transferring 160 bytes of data? That’s how much data is in a single SMS, and everytime you send one, your cellphone company enjoys profit margins of close to 98%.

We’ve got even better technology reaching the mobile market – 3G networks can offer data speeds of upto 7.2Mbits/sec (the theoritical limit is 14.4Mbits/sec). Combined with VOIP systems, that should mean cheap telephony and communication for everyone. It means you could reduce your mobile phone bills to 10% of what you’re paying now.

But no. You’re not allowed to use VOIP on your smartphone unless you’re in a WiFi hotspot. Why not? Because the cell phone operators don’t want you to – that would be bad for business wouldn’t it? I thought the whole point of technology was to make things cheap and easier for the end users. Apparently not.

This situation is a bit like when the old vinyl record companies tried to push back the compact disk revolution just because it would be “bad for business”. This is what happens when you put technology into the hands of giant corporates whose only reason to exist is profit. It’s like all the cell phone operators all over the world have an unspoken agreement to fleece the consumer collectively.

What we need is just one company to take a bold move forward by breaking this pact. It’s not like they have to invest huge amounts of money, the technology and infrastructure is here and now. Please, just charge the consumer how much it actually costs to make a call or send an SMS, with a reasonable profit margin. The rest will follow suit, as the free market dictates. That’s how the cell phone rates in India dropped drastically, and it’s our only ray of hope.

It’s not enough if we have open mobile phones, we need operators that are as honest and open as the handset. Communication simply doesn’t cost as much as the cell phone operators tell you it does, and it’s about time more people realized it.

Posted by Anant on September 5th, 2008 in Apple, Life, Technology | 6 Comments

Microsoft joins Apache

Get the story

Should’ve known something like this was coming, given the recent spike in M$ spending on FOSS conferences.

What really caught my eye is that Mike Schroepfer of Mozilla is on the list of people Sam Ramji wants to thank :-)

Posted by Anant on July 26th, 2008 in Conferences, FOSS, Life, Mozilla, Technology | 3 Comments