Skip to main content

Posts about recursecenter (old posts, page 1)

Recurse Center, 2014-08-14

  • I spent the morning cleaning up the "repr" functions of the diff classes, so that the diff of functions between two modules can be printed out in a somewhat meaningful way.
  • I spent most of the afternoon, preparing to make a small presentation on how sys.path works in Python. I thought I didn't do as good a job of it, as I would've liked, but Tom thought it was not too bad…
  • Looks like another of those days, where I didn't get much done… I spent the evening finishing off Homeland. It's a brilliant book, and everyone who cares about the Government and policies and technology MUST read it! Thanks Cory.

Recurse Center, 2014-08-13

  • I feel like I didn't get much done yesterday.
  • I mostly worked on the API differ, but didn't get much done. I have a few tests, and some code for diffing two functions, but I'm not very happy with it.
  • I helped Giorgio and Carlos with using my client only hs_oauth script/library, for their Zulip bot.
  • The white boarding group worked on some binary related problems, and it was fun.
  • I looked at how the HS OAuth backend works on blaggregator and thought about how to go about fixing the issue of broken images on the site. The problem happens because the image URLs are returned from the HS API calls, that are made whenever a user logs in(?), and the URLs are cached. Since, HS uses cloudfront for its assets, the URLs expire after a period of time, and the cached urls in blag's database need to be updated. There could be two ways of doing it -
    1. Check if the URL 404s, every time a URL is requested, on the server side.
    2. Do it on the client side, with some javascript magic.

    Intuitively, I feel like 2. would be better, but Madhu suggested that 1. wouldn't be that bad either. We could try both out, and see which works better I suppose.

    I'd be interested to try this out, sometime.

Recurse Center, 2014-08-12

  • An issue I was seeing with pip and a package installed in system-site-packages turned out to be non-reproducible. It was probably PEBKAC.
  • I was wondering around in the morning trying to find something to work on.
  • I decided to work on Pankaj's idea to write a tool that gives you API differences between two versions of a library. It would be useful to have the list of public API changes in a library you use, to estimate the cost of updating to the newer version, without having to manually go through all the changes.
  • I spent some time talking to Sophia, and looking at her FTP server's refactored code.

Recurse Center, 2014-08-11

  • I spent about an hour in the morning testing out the staging blaggregator instance, and things seemed to work as expected. Side note, I got added as a collaborator on the blaggregator repo!
  • We worked through the first chapter on getting video working, but we mostly ended up just copying code rather than actually understanding/carefully studying it. I'm not sure how I feel about it, but we got to display fancy stuff.
  • I wasn't feeling like working on any of my 'old'/'ongoing' projects, and since Mondays don't feel very productive, I worked on writing a couple of simple scripts to create twitter lists of HSers, batch wise.

    For the HS API, I just reused some old code I had lying around from my experiments with the OAuth2 API, though I had to tweak it a little bit to be able to actually login, using requests. Something about CSRF tokens seems to have changed.

    In the process, I found that twitter's API isn't very pleasant to use. Or may be it's the fact that I was using python twitter client without getting my own client id/key, but the whole experience of dealing with the twitter API wasn't a pleasant one at all!

  • Amber, Daria and I also spent about an hour white-boarding some problems from the Cracking the Code Interview book.
  • I ended up fixing some minor issues with blaggregator and am hoping that the long pending PR will be merged today.

Recurse Center, 2014-08-08

  • I spent the morning doing some white-boarding interview practice with a Jorge and Brian.
  • I spent the rest of the day, playing with PyPy and working through a tutorial that teaches us to write a BF interpreter.
  • I spent the Saturday revamping my Emacs config. The main issue with my config was having a "package" list, of all the packages that the configuration uses, in case we are trying to duplicate it elsewhere. I noticed that this gets out of sync, because I install packages by hand and never update this list. I wrote up some code, that keeps this list in sync with all the packages I have installed. I configured el-get to play well with my config, and am pretty happy with my setup, though I still have to add some matching/searching features with helm/ido/whatever else.
  • I spent the Sunday writing a patch to xtab to be able to limit the number of tabs in Chromium by the memory it uses.

Recurse Center, 2014-08-07

C stuff

  • In the morning I cleaned up the code to open torrent files, and parse them.
  • I worked on a function to do encode text properly, and Sophia helped me find out that I had to use unsigned chars in it.
  • I looked at Sophia's threaded ftp server in C, and gave some suggestions on how the code could be refactored.

Baking Pi

  • We still didn't get to the video stuff, yesterday. We finished the first 5 chapters, though, and have a SOS pattern display.
  • I'm really looking forward to doing the cool video stuff.


Recurse Center, 2014-08-06

  • Finished working through the first 5 chapters of the baking pi course, and am excited to start working on the video stuff, today!
  • Spent some time pairing with Sindhu on her url checker, and later in the night helped her out with a small bug in her GitHub activity leaderboard script.
  • I spent some time adding dict parsing support to the bencode parser.
  • And also cleaned up the tests.
  • The electronics hobbyists were doing some cool stuff, and I joined them for a bit. We tried some cheap motion sensors, but they didn't work very well, and probably need to be calibrated.

Recurse Center, 2014-08-05

  • Spent a couple of hours in the morning, trying to revive a html template for blaggregator, that I missed out on committing previously, and wiped out due to negligence in using `git clean`.
  • Spent time post lunch working through the first two chapters of the baking pi course, by myself, reading up different references, and finally getting how I/O is mapped to the memory in ARM.
  • Actually, almost. A variant of the example that I thought should work, doesn't. So, I need to think/talk about it today.
  • I sent a patch to Nikola for the lastdeploy timestamp being UTC. I was hoping to work around an issue with Blaggregator, by somehow fixing it on the client side, but that's probably not the right way to go about it.

Recurse Center, 2014-08-04

  • A bunch of worked on getting LEDs to blink, by writing some assembly code.
  • I goofed off post-lunch, and cleaned up the code for the Google Translate based TTS client.
  • I tried to continue working on the bencode parser, to add support for dictionaries, but I couldn't get much work done before it was time for the Monday talk.

Recurse Center, 2014-08-03


  • On Friday, I didn't do the exercises that everyone else doing job prep were doing. I wanted to continue writing C code, and continued to work on the bencode parser in C. I barely was able to finish adding support for lists.
  • I got comfortable using Valgrind, in the process of debugging a stupidity of not using realloc correctly.
  • What I was able to write with Python in an hour or so, I have been writing for about a day, in C, and haven't yet finished it! It definitely doesn't help that my C is very rusty…

Saturday & Sunday

  • I didn't work much, and went around New York with Madhu. We went to quite a few places around here, the highlight being, the view of Manhattan's skyline from the Staten Island Ferry.
  • NYC's library also had an interesting exhibhition on the history of America, just before and during WW-I.
  • On Sunday, I tried out Mary TTS on the raspberry pi, and it is simply unusable.
  • I then, started writing a simple wrapper around Google's tts that is used by Google translate.
  • The TTS part is more or less working right now, the next step would be to deploy it on the RaspberryPi and start using it as a radio, to see what my needs are like. Hooking it up to Jasper client seems like a good idea, right now… though I'm not sure if it would work very well, with the pi's audio output drowning out the voice commands.