Category: Post

  • Littlecosm

    I connected twitter up with littlecosm recently. It’s sort of interesting, although what I’m really waiting for is the story mode which appears to be forthcoming.

  • Gmail Contacts

    I’ve successfully shepherded some interface features through launch, and it is now available in the public Gmail!

    Check out the my ‘official’ blog post!
    http://gmailblog.blogspot.com/2011/02/two-improvements-to-contact-groups.html

  • Privacy for Chrome

    An idea I’ve been toying with for the last couple days is how to mitigate some of the privacy implications of web browsing. The modern browser gives up much more of your information than it really needs to, and the game seems weighted in favor of the advertisers. Especially with the impending ‘ping’ attribute and other modifications which make your online identity transparent to advertisers, it’s time for users to regain some of the control over the sites they visit.

    I think a reasonable baseline is to provide an additional level of granularity for which resources should be loaded on a page. Right now, you get either the full experience, or you can disable all javascript & images to limit your exposure to tracking. From the users perspective, a reasonable equilibrium is to evaluate resources with the same policy as cookies — only make requests to the same origin as the main page.

    It’s a simple concept. As a user, I asked for this page, not for ads.doubleclick or facebook – and that’s the content I want. There’s only minimal value lost by not requesting this content (one example would be google maps mashups.) but a either a whitelist or a click-to-load model would easily rectify that problem.

    I hacked my local version of chrome to follow this security policy, and the web is surprisingly entirely usable. I haven’t hooked in the whitelist yet, and this is still entirely experimental but I hope it puts a bit of pressure on the notion that users don’t see the value of their private information.

    I’ve attached the diff of my change – all 10 lines of it – and will do my best to shape it into something that is usable enough to actually submit to the chromium project.

    diff

  • Links!

    This website is currently not capturing the full extent of my online activity, but these links should at least partially remedy that problem.

    Cool Things
    Wishlist
    Github Projects
    Google Account

  • Fruits of Labor

    Most of the work I’ve been doing at Google has been been on my specific project ( http://mail.google.com/mail/#contacts ).
    Now that I’m getting more comfortable with the environment, I’ve been able to branch out a little bit, and one of the results is that I made my first change to google’s open-source javascript library recently: http://code.google.com/p/closure-library/source/detail?r=167

  • shorewall & policy based routing

    The linux kernel claims to support basic packet inspection in order to detect p2p traffic. One interesting application is that you can split your traffic signature, so that this traffic, which US providers commonly use as a signal for traffic shaping can be encapsulated to a data center, or other intermediary destination. Sadly, while the detection is possible, the routing setup is non trivial.

    In my attempt to set this up, I used an ubuntu linux box running shorewall and openvpn sitting just behind a cable modem. (this computer also provides dhcp for the rest of my network.)  Since it took several hours to get the shorewall configuration working properly, I figured it wouldn’t hurt to make a record of it.

    Zones

    fw firewall
    loc ipv4
    net ipv4

    Interfaces

    loc eth0 detect dhcp,sourceroute
    net eth1 detect dhcp
    net tun0 - dhcp,optional

    Policy

    loc all ACCEPT
    fw all ACCEPT
    net all DROP info
    all all REJECT info

    Rules

    ACCEPT net $FW udp 1194
    ACCEPT $FW net: udp 1194
    ACCEPT $FW net all

    Providers

    isp 1 1 main eth1 detect balance=1 eth0
    vpn 2 2 main tun0 detect balance=2,loose eth0
    

    TC Rules

    1:P 0.0.0.0/0 0.0.0.0/0 all
    2:P 0.0.0.0/0 - ipp2p:all
    # specific domains or other desired encapsulation is specified here as well.
    1 $FW 0.0.0.0/0 all
    

    Route Rules

    lo - isp 1000
    

    Masq

    tun0 eth0 detect - - - 2
    eth1 eth0 detect
  • Senior Bus Trip


    The seniors in my dorm took a bus trip over that last four days.  From Los Angeles we traveled north to near Reno, then went across the Sierras to the coast and came down the pacific coast highway through Big Sur.  The views were amazing, and it was a great time spent with good friends.

  • Finishing College

    I am now one final away from being done with college. It’s a strange feeling.

    Rather than looking back, it’s more fun to look forwards:
    * I need to find a way to spend more time in China, so that the time I’ve spent studying the language can pay off.
    * I need to keep working on friend.s, and need to get a publicly available release.
    * I need to get deeply involved with people at Google, so that I can be connected to that community.
    * I need to stay connected with Tom in the next year so that the transition to Grad. School isn’t awkward.
    * I need to keep contacts at HMC, it’s been a great four years and one that isn’t worth forgetting.

  • Slab City

    I took part in the bus trip this weekend on the dorm’s new bus. Our route went first to the Palomar observatory, to see the telescope and grounds, and to take the bus up the mountain. From there we traveled down to the Salton sea, a large artificial lake with no inlet or outlet near the border. At the south end of the sea is the town of niland, and a couple miles from there is Slab City. There’s a long history to the community, which started as a military base and now is ‘the last free place on earth’.

    We stayed there overnight in the bus, and then headed back for a noon return the second day.

    In the process puppies were acquired, pictures were taken, and fun was had.
    The group at the Palomar observatory
    Bus at Dawn
    Salvation peak

  • Cornel Visit Days

    This is just a recounting of my visit days at cornell, so that I can keep it fresh in my head when I want to reflect on it in the future.

    Flight sucked – sat in pain with a migraine between Cleveland and Syracuse – it let up about when we landed, and I’m blaming it on mild food poisoning from the turkey sandwich I ate on the way to cleveland.

    The driver from the airport was a really nice guy, (me and another systems guy (wants to research planetary systems especially filesystems) got driven in at the same time) and pointed out all the interesting sites between Syracuse and Ithaca. He regularly drives for cornell events, so knew a lot about the place. Some random points of interest:
    * There is some skiing, but it’s not going to be comparable to stuff on the west coast
    * It’s a very definite bubble, which really doesn’t interact with the area around it
    * a fair amount of interaction with people from new york

    Hotel was nice, as much as you would want from a hotel. No problems getting checked in.
    Went down to the hotel bar where people were hanging out. talked to a couple interesting people:
    * A guy from princeton doing theory. didn’t have a ton of good things to say about princeton.
    * One of the sponsors (1st year) from istanbul who liked the small town and was used to it, but said she went in to new york a lot at the beginning to adjust. She is doing systems – works with weatherspoon and is doing a project trying to optimize the back end of archive.org
    * Another girl sponsor who is doing theory and seemed

    Breakfast wasn’t bad, they did it at their special hotel school. It was as good as you would need for breakfast.

    Campus tour was nice. Lots of fun stuff going on. really pretty place, better certainly than anywhere else I’ve visited. The gorges are pretty sweet, and the old buildings are super neat.

    Housing wasn’t that exciting – cheap, but unexciting. Especially the university stuff, but the guys house that we saw was pretty sparse, and not super nice either.

    Went back. the systems people that talked seemed quite well adjusted, and were all doing cool stuff. The other people interested in systems my year seemed a bit less so. The good news is that you get extra time to actually build systems, and it sounds like Gun is really into stuff and would be a good guy for me to get as an advisor in terms of productivity.

    the food wasn’t overpriced anywhere which is good.

    The party was pretty geeky, but at least people were drinking. Still, it devolved to rock band and taboo pretty quickly. I don’t know how you would really do that better.

    Overall is seems like a somewhat better mix of geeks and reasonable people than Mudd, but that isn’t saying that too much. I think I could do interesting research, and got really excited talking to van Renesse for dinner, but hakim and gun will need to be really cool and uw will need to be a bit disappointing for me to choose cornell. (it’s operating at a bit of a disadvantage)

    Sunday night at 11pm I realized that the schedule in my packet had my meeting with professors and started looking up their research areas

    Monday was really quite good as well.
    I got up at 7 something in order to take the bus over to the CS department lounge. There was fruit, coffee, bagels, and that sort of breakfast ready for us, which took about half an hour for people to get through, and then we got an introduction to the department in the main conference room by eva Tardos. (A cool lady) She works in theory, and just went over basic strengths of the department. It seems to be really theory heavy, but systems comes in second. Everyone TAs for 2 semesters, and then you’ll either keep doing it or move onto an RA ship once you find a project. Funding guaranteed, pretty high graduation rate. 5-6 years for systems folks, theory typically can get through in 5. You do quite a bit of course work in the first year or two and then move into research for the remainder. If you quit after 2-3 you leave with a masters. They were saying only 2-3 per class didn’t make it. 1-2 because they never found an advisor they actually connected with and 1-2 because they left for industry without ever writing up their thesis. (they don’t have much sympathy for the later type)

    The second talk was by the systems group. We went down to the systems lab (they’re going to replace it next year, but it doesn’t look that bad as it is. Certainly very spacious, and the cube setup is pretty productive – I like it from last summer) Mayers focuses on PLs a bit more than the rest of them, and he was talking for most of it. He has been writing java based compilers – extending the things in a java-like syntax – and actually has a full new language out of it. Called fabric. part of it’s claim to fame is that it has distributed objects that can be executed on remote hosts really easily. (he directs the DB toaster project I heard about sunday – which compiles down databases down to the needed queries.) He also does stuff with trust control.

    Then there were a set of three meetings.
    first was with Gun. He’s doing some really cool stuff. Mostly interested in flixQ which is a hybrid p2p content delivery service – you download movies like youtube, but the server coordinates to maximize global bandwidth. He’s also got his hands in a bunch of different places. One was a trusted operating system in order to make use of the trusted computing chips in modern computers. Another is looking at network measurements – i think? He has taught the advanced p2p class, so that’s his stuff as much as anything.

    Then robert van renesse. He talked about DHTs and other designs that sacrificed different things, in order to work better in different situations. The Kad system is good for fault tolerance, but you certainly have trouble always getting the most up-to-date copy, so it looses information potentially.
    Anyway, he had a system where you could have master-slave nodes for different parts of your ring and re-divide partitions on your ring as data or hosts increased. It’s mostly aimed at data center situations, where you still want all the distributed stuff kad gives you, but you need redundancy in a different way.

    Then was Hakim, the guy I’ve talked too before. We talked a bit about his work in filesystems, and the differences between UW and cornell.

    I talked to both Gun and Hakim about UW, since they both have done stuff there (hakim did undergrad, gun did his PHD). they both said that the two departments were the most comparable I would find. The real difference that I could get out of them was that they thought cornell went a bit further in formalizing their systems. That is – they said UW had a lot more industrial connections, and so could do lots of work improving and finding problems in existing systems. However, they cautioned that the problem is that just fixing the thing is problematic when you can’t theoretically back up your proof. (So, cornell they claim has more theoretical backing to their systems group, and does a better job proving optimality of their solutions) I’m waiting until I visit UW to trust them on that point.

    Lunch was at a chinese place halfway down the hill. oh yeah, cornell is at the top of a big hill, and we were staying in downtown at the bottom. “college Town” is where undergrads primarily hang out about halfway down the hill and really close to the undergrad dorms – that’s where this restaurant was. It wasn’t bad, and they seemed perhaps a bit more chinese than most americanized restaurants – probably good given that tons of grad students are going to be chinese.

    Talked more to one of the grad students about her work optimizing energy efficiency at Archive.org over lunch, and then talked with their physics post doc after lunch. This is project Ken, one of the older systems guys has been leading, where they’ve been working with cicso on core routing algorithms. This part right now is monitoring, where they’ve built a laser that can send valid packets through modulation at very precise timing. Then they can receive the packets and determine how the network is delaying and working with these packets. They found a lot more clumping than anyone was expecting, especially because most of that clumping is re-randomized by the end host in other simulations that have been done.

    Of interest here is that Dan is Mike’s younger brother – mike being the guy I was interested in working with a princeton.

    Then I sat through the theory presentation. One half of theory was people doing game-theory optimization stuff and solving big matrix problems (sci-comp). The other half was vision and graphics, which meant lots of pretty pictures. They’ve got lots of physics simulations to quickly and accurately render things like hair and yarn. THey also have a new vision guy who’s apparently super famous in the field named Noah. (at least all the vision graphics students were really excited about working with him) He’s the guy who’s been doing 3d reconstruction from photos on flickr and such. Microsoft has been working with him on photosynth (I think). He had some pretty visualizations of 3d reconstructed cities.

    After that there were three more meetings. i talked first with Fred first, he’s a security guy – and has advised and shaped government policy quite a bit. he’s also a very good figure skater. We talked about side-channel attacks, and how you could leak information from secure systems from things like timing and power monitoring. It was interested stuff, but he had a bit less to say about distributed systems than the other guys.

    Next was Mayers – who talked more about his java compiler and about systems to keep track of data flow through your programs so that you can figure out how many bits of information end up doing what you want (like optimizing randomness so you aren’t wasting entropy in converting distributions.)

    Finally was Ken Bergman? he talked more about the physics simulation and also talked about how cisco was planning to do more with them, and was willing to let them play with the next generation of internet routers at pretty much any level – he’s personally working on some fault tolerance applications. One of the things he also said though was that there was a huge potential here to build a new protocol to fix problems with IP so that a second set of global traffic could get sent around the country. His thoughts were to build a parallel system that would either have QOS guarantees or security guarantees. (e.g. only trusted parties are guaranteed to see/understand the data. The latter is a really cool problem, and is one where you really do need a new protocol at that low level, because if your messages are entirely encrypted while on the wire then you need to have the routers be able to somehow deal with that encryption.

    There was a poster session after that, where lots of grad students hung out and talked about what they were working on. i talked more about Gun’s work on hybrid p2p systems with the grad student who had built it with him, and talked with some of his other students.

    A group of us went out to dinner after that, I talked mostly with a guy from UT Austin who spent a gap year working at intel and is now wanting to do more theoretical stuff and stop doing the formal verification work that intel was having him do.

    In the evening we went out ice skating. I can skate well enough that I don’t fall down and don’t look like a complete klutz, but I’m certainly not great. The CS department has it’s own hockey team where grad students play the faculty. They were pushing that event as one of their big social activities.

    I got up this morning and caught a shuttle to Syracuse. My first leg to new york was with a guy from cal tech who’s interested in AI and graphics. He’s choosing between princeton and Cornell, and had a bunch of interesting things to say about cal tech.

    And now, I’m almost back to reality. It was a positive trip, and the ball is now in UW’s court to convince me that they’re better. There was a very laid back atmosphere in the department which I think would be fun to involve myself in, and the profs all were very approachable. All terms were on first-names, and I didn’t notice the east-coast formalism that I had been half-expecting.

    The two things that are the biggest cons are
    1. location – it’s hard to work with people outside of cornell, since that’s all that’s there.
    2. Housing – the housing looked pretty run-down – I think a city like seattle could get me a much newer / nicer apartment for not that much more money.