Tag Archives: rc week 6

Recurse Center: week 6, day 5

Came in on my second Friday and am using it to make myself feel accomplished about this week. (So far, it’s mostly been feeling feelings.)

Took a while to get started, but my tiny “hello world”ish app is still working, and I modified it to send an image as well, and it feels sort of impossible to have created something that does this. And then I got it to message me back with my name by telling it my phone number first, and then I fell down the rabbit hole of “why do my git commits without -m open in Sublime, instead of in vim, which I’ve been practicing lately?”

And so I have changed my global git config to open vim, instead of Sublime, for commits that didn’t have the message specified inline (e.g. `git commit -m “mega cool commit message`). Fun! `git config –global core.editor “vim”` does the trick.

Why did I need to do this? Because it’s very important that I make my commits blink, because Ann is my code twin and is an inspiration in terms of “you can learn a lot by doing things for giggles.”

Behold:

Finally properly participated in RC Crafternoon, with a fresh friendship bracelet kit (seriously!) from Purl Soho down the street (thanks for the recommendation, Rachel!). I started AND finished a bracelet in RC colors. What! I don’t tend to think of myself as a person who finishes things, and yet here we are:

Went for a walk with Tim to accomplish Secret Mission Things, and came back to tie up my loose ends for the day and get ready for RC karaoke. I’m super excited about this, and not only because it means I get to do karaoke with 1) people I like, 2) not drunk randos, 3) any song that can be found on the internet.

Onward!

Recurse Center: week 6, day 4

I didn’t actually write a word on this day. But I bet I can still remember the salient parts!

I went out with coffee check-in group, and got back and had “bagel conversation time,” which now reliably follows coffee check-in group for me. This means my “do computer things” days start a little bit later, but also I feel more ready to start.

During this particular morning’s conversation, aside from rambling on and on about a lot of OPINIONS I HAVE ABOUT WORK AND CULTURE AND AGHHHH, I also mentioned that I was pretty awesomely stuck with a Heroku issue. Steven kindly offered to pair with me (after patiently listening to me ramble), and so we had a totally unscary time working through what was going on.

With the previous day’s Heroku errors long since resolved, we were free to figure out what was wrong on this end. Got lots of `gunicorn.errors.HaltServer: <HaltServer ‘Worker failed to boot.’ 3>` (me: “computer, that is not the way we write a heart <3”), which was interesting, because I didn’t think I had a worker. 

It was also interesting, because `pip install gunicorn` actually, uh, installed things. In retrospect, this all seems terribly obvious, which is probably because we talked about the error afterwards, and how to catch it faster next time (or prevent it entirely!).

Things then worked just fine locally, with `heroku local`, but NOT on my actual Heroku app.

Long story short, installing gunicorn locally (in my virtualenv) but NOT adding it to my requirements.txt file (of the packages needed) made this happen.

Steven finally asked me to try `pip freeze` (which prints out all the currently installed packages, and their versions), followed by requirements.txt, and lo and behold, they were one letter different.

`pip freeze > requirements.txt`, a new push to Heroku, and voilà! A test app is born!!

It lives here, in my least-favorite of the three random names Heroku’s given me so far, and is prone to be changing swiftly, but hey! It works! Something is there!

I then could not manage to get a single computer thing done for the rest of the day. Some days are like that, though, right?

 

The afternoon had early Thursday presentations, followed by Not Graduation for the Summer 1 batch.

 

Mostly, this involved each of them getting a printed envelope full of nice things people here said about them, a t-shirt, and a request to please return their keys now, which frankly sounds way better than actual graduations. Someone had collected some niceties about the faculty here, too, and the summer 1s were going to read some out, but then decided to make a markov chain app so we could, you know, simultaneously read all the compliments at once. Just. Mixed up. It’s amazing.

I can’t believe they’ve actually finished their batch. The Fall 1s are so close to being here now!

The lot of us (mostly) headed to Brooklyn Bridge Park for a snack-y picnic, lots of hugs, spontaneous nail polish (which I instigated), and five thousand mosquitoes. (I counted 12 bites this morning and probably missed some.)

I’m sad that they’re all heading to their next adventures, and that I now have even more friends who are far away, but this ALSO means I have friends in more places now.

Recurse Center: week 6, day 3

Did not have a productive morning, but did have good conversations! Also had delicious food from Jess, who appears to have become my food fairy this week. She brought lentil taco fixin’s on Monday, some gingerlicious garlicky shredded beet salad yesterday, and herb-crusted tofu + pesto + avocado sandwiches today, plus cupcakes. The latter was the result of me stating that most of the grief symptoms were mellowing, and my feelings were starting to have shapes again, except I kept not being hungry and/or forgetting to eat — so she asked me what I liked to eat. And you know, I still love good sandwiches.

Went out with walkgroup, partly because walks are good, and partly because April’s leaving a little early (today!  🙁 ), and we quested in the streets of SoHo with a GIGANTIC RC contingent, and it was amazing.

Came back and continued grinding on my Twilio/Heroku tutorials. The Twilio tutorial is so rad, and then you get to this point:

At this point in the tutorial, you will need to find a way to expose your server to the public Internet.

Here are some tutorials that may be able to help you:

[…]

For the rest of the tutorial, we will assume your server is available at example.com.

Which, to me, sounds like, “I know you came here to learn things by having them explained, and that’s been going really well, but I was thinking you could just, like, go do a internet at yourself if that’s cool. kbye.” (Me: “no, I’m not sure that is cool, but let’s find out.”)

I am sure that if you are a 1337 web h4x0r type person, this all sounds awesome and simple, but also probably you are not following along with a beginner’s tutorial. This plunged me into the glorious deep end of Heroku resources, and spinning up dynos (what even is? not yet totally sure, despite reading about them), and I have a bunch of tiny apps locally and on Heroku that do tiny little things, and it’s kind of neat. The challenge is just how to blend them together.

As a side note, Heroku and Twilio also have different guidance about how to create a new virtualenv, so that’s interesting.

Heroku suggests `virtualenv venv` for the initial setup, and then `source venv/bin/activate` to start things up each time.

Twilio, meanwhile, suggests `virtualenv –no-site-packages .` for the first part, and then `source bin/activate` thereafter.

Who is right, in this battle of style? One of them is easier to set up, from my perspective, and one of them is easier to run each time you’re working.

Finally, I had both an independently successful Twilio test app, plus an independently successful Heroku app, and put them together…and a spectacular fire resulted.

I persisted for a while, and eventually ran into this:

$ heroku logs --source app
 !    Internal server error.
 !    Run `heroku status` to check for known platform issues.
$ heroku status
Installing plugin heroku-status... done
=== Heroku Status
Production:   No known issues at this time. 
Development:  No known issues at this time.

Doubting that this was right, I ran it again:

$ heroku status
=== Heroku Status
Production:   Yellow 
Development:  Yellow 

=== Potential API Issues 8:59:15 PM UTC (https://status.heroku.com/incidents/797)
[Investigating] 8:59:15 PM UTC (less than a minute ago) 
Our automated systems have detected potential issues with the API.  We are investigating.

Updates were swift and helpful, but once we hit this one:

Until this API issue has been resolved, you will be unable to log into your Heroku account and unable to contact support.

I gently flipped the table and decided that was a good signal to head out to the LEGO store to meet up with Ann and Steven.

Beyond “time spent with Ann and Steven,” here are two more reasons this was awesome:

8:36pm: today I finally got to go to the LEGO store with @anyharder & I got some mystery minifigs & omg unicorn & science woman

I also picked up the positively gorgeous LEGO birds set, which was one of those “vote on the things online and then maybe we’ll make it into a thing” projects (LEGO Ideas). This might be the first actual “make some particular things” LEGO set I have ever owned. Not just as an adult — ever. (For the purposes of this sweeping statement, we are ignoring the giant box of assorted plain LEGO I bought myself as a college freshman, and also the rad Klutz book with a packet of awesome parts, because those didn’t build A Thing.)

I am THRILLED.

As a side note, you may remember another LEGO Ideas set, the Research Institute, which featured a bunch of women casually doing science, but which now has a note about how it “was overwhelmingly popular and is no longer available for purchase.” Do the LEGO people not understand how capitalism works? You can continue to sell popular things in exchange for money.

Outside of LEGO adventures, this week is full of feelings, because the summer 1s continue to have ever-decreasing amounts of RC time left before they Never Graduate. FEELINGS.

 

Spoiler alert: Thursday I get Twilio + Heroku = <3, with excellent help and encouragement from Steven.

Recurse Center: week 6, day 2

Coffee check-in group was the check-in-iest it’s been since I started going to it, which was super fun. It also means I spend a bunch of dollars, but then I have coffee and a delicious bagel, so hey.

Ann and I started speccing out Red Flag, which she’d told me about this weekend. We’re going to try to implement a command-line period tracker this week, before she heads back to SF. I’m psyched about this.

I also resolved some exciting environment variable problems (I know enough to know I don’t want my API keys anywhere in my git history!). Got some help from Rob, who I keep describing as “my unofficial mentor,” and I was right that he had the quickest route to an answer (since I knew we’d walked through this months ago, and I had the credentials for another service to prove it — I just didn’t know how to USE those).

For the curious, I set my Twilio creds up in their own directory and was using `chpst -e ~/twilio/ python myapp.py`, then moved them over to my .bashrc file to minimize having to do that EVERY TIME I ran something.

Continued working through the Heroku Python tutorial. Spent way too long in a gruesome battle with some gnarly errors that appeared to be maybe psycopg2, maybe something with gcc, maybe god knows what oh goodness why are there eight lines of red text, and finally found that some benevolent individual had 1) encountered this problem, 2) found the solution, 3) blogged about it. Not before baffling Mary the facilitator here, but I learned some small things about virtualenv, too, and made a terrific mess that I think I mostly undid. If not, it’ll be a new thing to learn later.

This is when I write badly about how other people’s clear writing helped me tremendously. Anyway. I was grateful. I will endeavor to become one of these people in the future.

Got home kind of late, and tried to write some nice parting words for the Summer 1 batch (their last day is Thursday, and then a new batch will start on Monday, and we’ll share the second half of our batch with them). Everyone’s invited to share some compliments with them directly, whether anonymously or attributed, and I really wanted to write whatever I could, and I was hoping I could get it done kinda quickly. Turns out writing articulate feelings is just always hard, and I haven’t practiced it in a few months, really.

I also described my gnarly exciting problems to Nathan, who happily jumped in to help — the “apparently it was this one line in my .bashrc file” problem was followed by a new one, wherein this `foreman start web` thing gave me the following error:

rbenv: foreman: command not found

The `foreman' command exists in these Ruby versions:
  1.9.3-p0
  1.9.3-p125

Reasons why this is exciting: I haven’t touched rbenv in probably a couple + years, and also I am not doing anything directly with Ruby right now, and also this is the page RIGHT after the one I got stuck on earlier.

Ran `ruby –version`, and it turns out I’ve got ruby 2.0.0p247. Sigh.

Nathan told me that there is some python tool that was inspired by rbenv, and he’s familiar with the python version, so on a hunch, he had me try `rbenv shell 1.9.3-p125`. Tried the foreman command again, and lo and behold, it worked!!

That sets the ruby version, but only for that particular shell session, and since I know I’m likely to open this in another shell at some point, I’ve now set it for the directory as a whole with `rbenv local 1.9.3-p125`. Neat!

Maybe now I can get through this Heroku tutorial…

Recurse Center: week 6, day 1

HOW AM I ALMOST HALF DONE?

The other part of this is “what do you mean, it’s the last week with the Summer 1 batch?” The Fall 1 batch gets here next week (!), and I know I am going to like them, too, but I don’t know them yet, so it feels very abstract for now. I know a number of the Summer 1s, and so I know that I am going to miss them.

Made it in in time for a little bit of morning sitting group today, which was a nice return to routine. After being there every day for the first few weeks, it’d been almost two weeks since I participated.

Continued with coffee-walk check-in group today, and continued the pattern of “learn more about what fewer people are up to,” which is a fun change of pace (not necessarily better or worse than the more traditional check-ins).

Was planning to pair with Ann in the morning, except she didn’t make it in, so went back to my bud Codingbat and worked through some more exercises. It’s weirdly satisfying to just drill basics; they come to mind quicker and quicker with a bit of practice.

Ran with an idea I’ve been meaning to run with, and started trying to reimplement one of Ann’s Ruby projects in Python. This means learning how to do things with Twilio! I’m kind of excited. I made my computer text me. Next up: not sure yet! But I feel like I’ve found my path into the weeds for now.