links/cheatsheets galore

Here are some great pages I’ve found myself referring to a lot in the past few weeks, or pages I want to remember (without bookmarking, since I never look at my bookmarks).  I’m collecting them here so I can have a somewhat reasonable number of tabs open in my browser at one time.  (Things are getting insane at the moment).  They’ve helped me, so maybe they’ll help you too.

  • Markdown basics – useful for writing README.md ‘s for github repos, among many other things: 
  • Mac keyboard shortcut symbols – I never know what those crazy characters mean.  This is what they mean.
  • Chrome keyboard shortcuts – I have now successfully been able to navigate between Sublime, Terminal, and two separate Chrome tabs without using my mouse.  AWESOME. (The above link is for Mac; this is the link for Windows).
  • A good git workflow – I haven’t read this through but would really like to, since I need a more structured way of coding, committing, and pushing to github
  • Homebrew – easy software installation for OS X!  yeah!  I finally got wget properly installed thanks to this magical world.  And if something fails, you can start with “brew doctor” as a way to find the problem.  
  • I installed Sublime Text 2 the other day (a really beautiful/powerful text editor), and then I decided to try out SublimeREPL for running code right there in Sublime.  I didn’t want to lose the link to the SublimeREPL documentation, so it’s here.  So far I think SublimeREPL is okay, but there are a few things I don’t like, or maybe just haven’t figured out yet: (1) I’ve had problems importing my libraries (i.e., if I’m in a folder with a script thelibrary.py, and I type import thelibrary.py, it complains that it can’t find thelibrary).  (2) I haven’t been able to ctrl-C or ctrl-D to escape functions while they’re being evaluated.  (3) sometimes the syntax highlighting in the REPL is annoying – e.g., there will be big strips of bright pink at the end of certain lines.
  • An intro to HTTP – I’d love to read this soon, since I’ve started to do a bit of web development
  • Flask mega tutorial – I’m working through this right now
  • statuscode – news for programmers!

more to come!

hacker school: day 11

Today is the 11th official day of my summer at Hacker School.  It. is. awesome.  By day, I get to surround myself with great people and work on whatever project I want.  Seriously, no rules.  It’s been so easy to get in the zone: I start coding and lose track of time, in the best way.  And if I get sick of coding, there are other great things to do, like help other people with their code, go to little student-organized working groups, get a book from the Hacker School library and do some reading, or pair with another person on his or her project.  Or I can take my code to one of the eight gazillion experts here and have them review it – I’ve done this a couple of times and I already feel like I know how to write neater code than I wrote a month ago.  I really love it here – it’s so awesome to go to “work” in the morning and be able to work on whatever whims and fancies occur to me, as long as they are sort of programming-related.  (And honestly, a lot of my whims and fancies are programming-related.  Nerd alert.)

And by night, I get to explore New York City!!!!!!  More on that later.

For these first few weeks, I’ve been having a blast coding up my favorite game, 500, in both R and python, which is a surprisingly great exercise.  It lends itself well to object-oriented stuff, and the logic is totally sensible but complex enough to make the implementation a fun project.  I’ve also been working through the Matasano Crypto Challenges, because cryptography is awesome, and because it’s nice to have little self-contained problems to work on, and because it’s another fun way to improve my python skillz.  Also, they’re based on real-world security problems, so the application is interesting and relevant.  I’m almost through number 6 (of 48…).  

I’m storing all of my Hacker School code and notes in my hackerschool github repo.  You can source and play my 500 game, but sadly I can’t post my solutions to the crypto challenges (it’s against their rules).  To make up for it, I’ve been keeping a little journal of sorts about my experiences with them in the README.md file :) 

It’s already day 11 and I don’t have a Big Summer Project With A Deliverable that I’m working on at the moment.  However, I think I would like to study a bit of web development – I’m excited about making software that non-programmers/non-statisticians can use, and that definitely involves making some kind of user interface.  I’ve dipped my pinky toe in these waters with things like shiny (for R) and d3 (for JavaScript, which I don’t know), but I’ve never actually jumped in and made anything with these, and I’d like to figure out how to make things that aren’t necessarily focused on data analysis.  To be clear, I think data analysis is awesome and I want to be some kind of data scientist someday, but there are so many other cool tools to be made.  People casually throw out software ideas all the time:  “I wish I could block certain websites during my study times”, “I wish there were a better to-do-list app than Google Tasks, I want to categorize my to-do list”,  “I wish I could automate the process of checking whether my dissertation committee follows the school’s rules”, “I wish there were software that would turn people’s crappy slides into good slides”, “I wish there were a bot that would to search Craigslist for me and email me with promising ads” — people have mentioned all these ideas to me in the past few months.  The thing about being at Hacker School is that you start to believe anything’s possible…all I’d need is a little bit of ______, and I could definitely make that with a [language I already know] backbone.  I’ve been feeling like “all I’d need is some practice doing web development, and I could definitely make some of this software wtih R/python/HTML/CSS.”  So we’ll see what happens!  Stay tuned for Alyssa’s Awesome Web App.  (Now I’m accountable.)

Also, New York.  NEW YORK IS SO COOL.  For reference, I’m living in central Brooklyn and working in lower Manhattan.  I’ve been here for just under 3 weeks, and I haven’t been above 34th Street (!) so I have a LOT left to explore.  But based on these three weeks, here are my New York thoughts.

THINGS I LIKE ABOUT NYC:

  • amazing food
  • bagel sandwiches
  • parks everywhere
  • you can totally eat on the subway
  • sublime coffee and espresso
  • I can ride a subway “home” from “work” that goes over the East River (above ground) and watch Manhattan twinkle in the twilight
  • sweet concerts/events/secret science club meetings happen all the time
  • you can get vanilla malted ice cream in a pretzel cone.  no biggie.
  • etc. (to be continued)

THINGS I DO NOT LIKE ABOUT NYC

  • the Yankees
  • smells vaguely of trash sometimes
  • a guy looked me in the eye and threw his nasty garbage in my shopping bag in the subway station last week.  what is that about?!

And finally, some pictures! 

One time we went to Washington Square Park after work to eat ice cream, and it looked like this:

Image

 

Another time, my friend Mandy came to visit – it was a beautiful day, and we went to the Hudson River Park!

Image

Image

 

The tallest shiniest building in that last picture is the new World Trade Center – one of four planned.

Mandy and I also went to the High Line, which we really enjoyed – the High Line is this park that’s built on an old railroad track that runs about a story above the streets of NYC, over neighborhoods like Chelsea and the Meatpacking District.  She insisted on taking this picture of me while we were having dinner there:

Image

And here is a picture of the street I live on.  I don’t live in one of these (I’m a few blocks over, where the brownstones are less brown), but I enjoyed the picturesque-ness of this area.  Plus it was a great opportunity to use instagram’s vintage-y filters.  So artsy ;) 

Image

stay tuned for updates!

 

summer 2013: Hacker School!

Hello from New York!

Tomorrow morning, my summer adventure begins: I’m a student in the summer 2013 batch of Hacker School!  Basically, Hacker School is three months of learning about programming, in a bring-your-own-project-ideas-or-enthusiasm, collaborative, friendly, flexible, awesome environment.  I haven’t actually been yet, so that’s my one-sentence interpretation of what it is based on the website, and from my three Skype sessions with facilitators (so definitely check out the website if you want to know more).

I’m really excited about this, for many reasons.

  1.  I’m guessing I’ll meet some amazing, smart, friendly, enthusiastic people who like learning stuff, which I look forward to because I’m pretty passionate about learning stuff too, and I really like meeting people who share that passion.  
  2. I really like coding/programming, but rarely have the time during research to think very hard about the best way to program my methods – it seems like getting the results quickly is always more important than getting the results in the optimal, most organized, most efficient way.  I figure that practicing programming will make it easier to write good code faster.  This is becoming a huge challenge for statisticians, since new statistical methods are being deemed useless without good software — so I’m excited to   really dig in to coding!
  3. Some pretty famous people are going to be at Hacker School…I’m a little star struck.  I’m beyond excited to meet them, and also to meet my fellow students and the facilitators.  (I just like meeting people!!!)
  4. I get to live in New York for three months.  So pumped.  I know, I know, there’s no air conditioning, washers/dryers, or space in any of the apartments I can afford (I mean seriously, the shower in my current place is shaped like a triangle, and my roommates tell me it’s totally normal if the curtain just falls down after you shower…) but the food is delicious, the public transit is so good, and it’s very leafy.  

I’ve been interested in learning JavaScript for a while, mainly because of a pretty neat tool that some of my friends/colleagues developed for interactive data visualization, using d3. So, one of the Hacker School facilitators recommended starting by reading the book Eloquent JavaScript.  It’s free and it’s actually delightful to read (I’ve chuckled out loud several times in the first few chapters).  So that’s where I’ll be starting tomorrow!

Keep an eye out for more Hacker School/New York musings this summer!  AND ALSO, if you have ideas for useful software projects, I (and I suspect my fellow Hacker Schoolers) would love to hear them.