- 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.
- 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.
- 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.
- 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.
- William Skeith, gave a talk on using SSH keys for web-authentication, which was pretty interesting.
- 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.
- 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.
- 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.
- 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
bencodeparser 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
- 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.
- I continued with doing the initial parts of the book, and didn't pair with Stephanie today.
- I gave a super-short presentation, introducing people to
- I just started writing a Bencoding parser in C, but I'm having trouble thinking about all the memory allocations and stuff. It feels so nostalgic! :P
(Re) Learning C
- Stephanie and I worked through the Networking chapter of the book.
- We faced some issues with writing 0 bytes to memory, since most of the code was dealing with strings. I still haven't figured out how to do this, correctly.
Hacking: learning by breaking stuff
- Post lunch, I started pairing with Stephanie on the exercises in the Hacking book, and that turned out to be super fun!
- We got through the chapter on exploitation, which focussed on stack overflows, heap overflows, overflows in function pointers, and string formatting exploits. It acted as more than a gentle refresher for C, and was super fun!
- Running the examples on a 64bit system, added an additional amount of thinking required, and was good, IMO.
- I hadn't worked along with Stephanie on the material in the first two chapters. So, I went back home and tried to catch up, but couldn't get all of it done.
- I spent part of the morning wrapping up the install script for the raspberry project, and cleaning up the repository. It looks reasonable now, and I think I'm done with it until the end of HackerSchool.
- I also tried to look for "easy" python issues that would involve me writing some C code, but didn't really find anything other than documentation… I guess, I should pick a module and look for bugs in it, instead.
- Also, while chatting with a friend, I had to explain that I don't mention the last names of people or link to them, for privacy reasons. Hacker School is particularly careful about not divulging information about who are at Hacker School each batch, and I want to keep that tradition.