Tag Archives: recurse center

Recurse Center: week 10, day 4

Didn’t end up going into the physical manifestation of RC today (well, Friday; what even is time), but DID successfully make it to my fellow batchling Jeff’s intro CS class, which I was super excited about.

It elicited a kind of impostor syndrome I haven’t had in weeks (e.g. “I’M NOT A REAL PROGRAMMER! HOW AM I SUPPOSED TO BE COOL ENOUGH TO TALK TO THESE KIDS”), but it was a real treat to be around people who were ready to just dive in and try things out with Scratch (which, it turns out, is super entertaining). Jeff’s students are opinionated, they ask good questions, and I’m looking forward to seeing what they make this year. All of us Recursers commented on how professional the kids were, too (there was a fire alarm, and all the kids filed down the stairs quietly, staying to the right, while the RCers had a hard time shutting their traps).

It was also kinda wild to see a different part of New York, way up at the northern terminus of the A line. The streets seem wider, the buildings are different, the businesses are different, and the school was super toasty (no air conditioning). Did I do a lot of reflection on privilege and socioeconomic stratification? You bet I did. I know what an immense privilege and opportunity it is to be able to move 3000 miles away, for three whole months, living in one of the most expensive cities in the country, but this drove it home in a whole new way.

Made me want to finally see what I need to do to volunteer with a local school back home, once we return to Portland, too.

Recurse Center: week 10, day 3

It’s Thursday already, somehow! I don’t get it. How’d we get here already?

Linz came to me to hear about Our Entertainment and Awesomeness, the “Emoji in Your Bash Prompt” of my week 8. We learned some things, such as “Sublime Text won’t let you insert emoji from the usual special-character-and-emoji palette, BUT you can totally copy-paste emoji into Sublime Text.” I…I can’t believe that OS X’s default Terminal handles emoji better than Sublime. (Someone wrote a plugin, but come on.) I mean, vim handled this pretty okay mostly out-of-the-box. How cool!

So one of the lessons? +1, vim. You done good, kid.

Outside of the computer, I figured out how to put all of my hair up with four bobby pins. (Spoiler: it involves dividing my hair into four even-ish sections.) The humid summer heat of NYC has gotten me really good at learning how to keep ALL OF THE HAIR off of my neck for survival purposes.

I had intentions of learning more about EXIF today, but instead Steve (RC alums and RC alumni day <3 <3) and I ended up talking about traffic feelings and how to make the feelings into a thing.

Let me explain.

Coming from the northwest, I do not come from a car horn honking culture. Car horns are to be used only in times of imminent, scary danger. Any other usage is needlessly aggressive.

However, in New York, there is a whole vocabulary of honking. A honk can mean so, so many different things.

I have learned to tell the difference between different kind of honks. There is the “hey, just want to make sure you know I’m here, because I’m approaching the intersection where you’re jaywalking” chirp. There is the “hey, that was a bad decision you (other driver/pedestrian/bicyclist) made, and it made me scared/frustrated” longer honk.

And then there is the “no one can move, we will be stuck here forever, I haven’t budged in several traffic light cycles, and I have SO MANY FEELINGS” looooong, looooong honk. It is REGULARLY joined by many, many other similar honks. Just, like, five adult people hooooooooooooooooonking their car horns together. Like when one baby starts crying, but there are a bunch of other babies nearby, and now twelve babies are crying.

For reasons I can’t entirely explain, this stopped being irritating and became really hilarious to me, and I usually can’t help but laugh when I hear this phenomenon now. I also regularly say “feelings!” when I hear it. I told Steve about this the other day, and now we BOTH do this when we’re out walking and someone is having feelings in traffic.

Today, this happened again, and I remarked that it’d be awesome if there were just a button you could press to have the feelings for you. And I remembered that Ed built hambutton.com, and by the time we returned from lunch Steve and I had resolved to build Feelings Button.

There are still a lot of Internet Things I have to figure out, because there’s a lot I still don’t understand about hosting/DNS/etc., but I bought my second domain ever, Steve helped me set up a bare-bones webpage and is hosting the content until I figure it out (probably with more of his help), and you can go to feelingsbutton.com, press the steering wheel, and hear me and Steve having feelings so you don’t have to. (It’s also on GitHub!) Wholly in the Ann school of “you can learn a lot by doing things for sh!ts and giggles.”

I even presented! Holy cats.

Anyway. Plenty productive for one day.

Recurse Center: week 10, day 2

HIGHLIGHTS: sitting quietly, being a responsible adult, super mega dream project and the Big Bad EXIF, small coloring projects to send to friends

Had some good sitting time again this morning. Was later than intended again, except it was just me, so maybe “we” just started later than anticipated. Reframing! I am in ridiculous love with the Muji “body-fit cushion,” which is basically what all decent beanbags dream of someday being someday. (Muji: Everything you never knew you wanted at Recurse Center, directly downstairs.) Except it exists now. Because Japan. It’s good for supported slouching, it’s good for meditation, it’s good for a half-body pillow, it’s…just lovely. It is the opposite of the (differently awesome) “dog bed for humans” style of beanbag (h/t to Liz for the name there).

Also doing some Stuff I Don’t Feel Like Doing, which is mostly Stuff I Want To Have Done like emailing cool people I met a few weeks ago, and also the insurance broker so I can get some health insurance again. Welp. ONWARD.

Emailed insurance broker (boring but responsible!). Emailed rad person from Dev Bootcamp that I met at Hack && Tell recently; she has Portland & biking & French connections and this is awesome. Emailed the two amazing women from Women You Should Know that I met at the JewelBots Kickstarter party even earlier; there are some women I think they should know about. EMAIL ALL THE WOMEN


Maybe there’ll even be code today. I’ve started worrying about jobs, which is an unpleasant feeling, but I’m going to channel it into Productive Conversations, and try to keep it out of my terminal for now.

Down, down, down the rabbit hole of reading image data from Python. Somehow, two and a half years ago, this was easier in Ruby than it is now. Or maybe I was missing something.

What am I learning?

I’m using ExifRead for now, because it came up high in the Googs, and also seems to be under active development. A+. This does, unfortunately, mean that I am learning how the EXIF sausage is made.

The GitHub page above makes reference to the difficult-to-google “IFD,” which appears to stand for “Image File Directory” (and not, say, International Floral Distributors).

Reminder to people who write about things with the intent of sharing knowledge: expand your acronyms the first time you use them. Just in case. It makes things so much easier for new people, and it takes very little effort! I’m now making an educated guess about a README. (Maybe I should file an issue.)

There appears to be a Canadian nerd who’s written a Perl library to handle/write EXIF data, and it turns out their description of EXIF tags generally, and GPS tags specifically, is about the most concise thing I’ve found so far [1].

(This all started because ExifRead returns a “ratio” rather than a decimal number for GPS coordinates. This is, apparently, the standard. Okay!)

There are some folks who’ve written about turning GPS ratios into decimals (like here), but that seems like a heck of a lot of work. I’m not even certain it’s what I need; it’s just what I’m (marginally) more familiar with. We also have two facilitators at RC who used to, uh, work at a photo-related company. It might be about time to talk to them.

After lunch, I headed back for Coloring Club (it’s my favorite thing that I have started in a long, long time), and worked on a couple postcards I’m going to send to friends. It’s fun! Postcards are a nice reasonable size for, say, a compliment.

Here is how to make a compliment postcard for your friends:

  • Acquire blank postcards. If you are lucky, Muji is downstairs. you can also cut plain paper. Or get some from a paper or office supply store, I bet.
  • Acquire stamp(s). In the US, it’s currently 49¢ for a US forever stamp (postcard stamps are cheaper), or $1.20 for a global forever stamp (those exist now!!).
  • Write something nice (something you admire about someone, or some other compliment that is true about them) with the bubble letters you learned in junior high. They don’t have to look Good or Professional, because they’re an excuse for you to color something in.
  • Color them in.
  • Write on the back.
  • Put it in the mail.

Easy, and real mail for your friends! Your friends will think you are a cool mix of old-fashioned and new-awesome, or at least you will.

The Summer Of Sad Times has made me think, quite often, about all the things that people are only brave enough to say after people are gone. In a nutshell, this makes me really sad, and I decided that I’m going to double down on telling my friends what I admire about them while they are alive. (Not with any expectation that any of them will die soon! I hope they will all be alive for a long, long time, and maybe sometimes they’ll think about the postcard and it will make them smile.)

I also talked to facilitator John about “oh god the EXIFs and the GPS and what is happening; am I the worst” and it turns out that it’s all just an awful mess of semi-standard rats’ nest. (Yes, the nest of many rats.) Apparently it’s Just A Beast, which is oddly encouraging. I’m not overwhelmed because I am clueless or unable; I am overwhelmed because I am Faced With A Beast.

The Beast, as it turns out, is an EXTRAORDINARY motivator for all the stuff I’ve spent all summer not-doing. Migrating my bonus (non-primary) photo album to an external hard drive? ALL OVER IT.

Somehow, this all took a whole day, and my parents just got into town, so I’m thinking it might be time to call it an evening.

Note 1: Also, welp, facilitator John tells me that Exiftool is pretty much industry standard, except a bunch of people have had such a sad time with it that they end up writing their OWN things. John is currently doing this.

Recurse Center: week 10, day 1

It’s Tuesday! But yesterday was Labor Day, and instead of coming in (it was an optional day), apparently what I needed was to do Literally Nothing. (Actual conversation I had: Partner: “What would you like to do today?” Me: “Not sure. … What would you like to do today?” Partner: “Some computer stuff. Maybe something else.” *silence* Me: “Actually it turns out this is the most stressed I’ve been all day, and I think I want to read articles on the couch.” Partner: “okay!”)

Anyway. So it’s a day-1-on-Tuesday kind of week.

Had good conversations with Jess and Tom this weekend, wherein they both made clear that they were willing to be helpful in getting me going on Super Mega Dream Project. Something feels different. I think I’m actually going to do this.

To be honest, something feels different about this week in general. I’m having one of those Marlboro Moments that I had in college a number of times (I went to Marlboro College for a couple years, and realized quickly that if you want something to happen, you should do it yourself).

I missed meditation group, which vanished as soon as Jess never-graduated a few weeks ago, so last night I officially decided that I’m bringing it back for the rest of my batch. RCer? Come sit with me, any time between 9:45 – 10:15, in the library nook. You can do some guided meditation on your headphones, or something else that works for you, or you can do what I do and just “do nothing and see what happens.”

I also missed coffee-walk check-in group. I found that coffee-walk check-ins meant that I checked in with fewer people in more detail, and I think that works best for me. So I started it back up. I made a new column on the sign-up form and everything, which felt like some sort of rebellion. (It is DESPERATELY hard to rebel in a place that is built around “please do whatever it is that will help you to be your happiest and most fulfilled.” Also, I have just never been a very rebellious person, so it is a strange feeling to have. Maybe I mentioned this before? It still feels funny.)

Laïs and Mary joined me, so it’s even successful! I have happy feelings about check-ins for the first time in a few weeks, and it feels awesome.

Got back into my sidewalk repo (Mason). It’s even still on my computer and everything. Two and a half years ago, I started it up with my mentor (?) from Code Scouts on some day I had off from work. There were a lot of reasons I was excited about Code Scouts, and a number of reasons (some of which I can enumerate) about why it didn’t work for me, but I’ve had this half-sprouted Ruby seed code for a few years. Ruby isn’t my go-to language anymore. And this near-empty repo makes me feel sad every time I see it.

Gonna see how much I can get done in Python in the next three weeks, and I’ll make improvements to Weather Balloon when I get bored or tired. (At least, this is the plan, subject to change if I’m wrong.)

Way excited.

Also went to B&H for a couple new external hard drives (one for extra space, one for responsible backups like an adult), and omg that place is amazing. It’s overwhelming, but there are conveyor belts overhead and e-ink shelf tags and more yarmulkes than I could have conceived of. I could barely find my way out, but I did, and then I want to the extraordinary post office across from Penn Station, and there are amazing seals (including French ones!!) on the ceiling, and oh wow.

Off to Puzzled Pint for the evening. Tomorrow, I start building more things on the rubble of the old Mason.

Recurse Center: week 9, day 4

On the plus side, my bike doesn’t go “fut fut fut” when I brake anymore!

On the plus side, I have another day where I have good live test data for trying to print weather alerts, like air quality ones! Because the air is sort of dangerous. Again. Sigh.

On the plus side, it’s a new month and so I cut up last month’s amazing page from our Japanese frogs calendar (I bought it in Japan, it’s got frogs doing things on it, they’re amazing) and I am going to glue them to things. (This is a real, plain plus-side.) (If you are curious what it looks like, kind of, these are the same frogs in a previous year’s calendar. Google translate => Japanese phrase in Google image search => second result.)

Went on an amazing dosa quest with Steve to the vegan Dosa Man, and ate dosa and samosa (<3 <3) in the park in the shade and ran my mouth and Steve kindly facilitated the transformation of “me running my mouth” => “part of a conversation.”

Came back and spent some time doing awesome things with LEDs with Ranjit — he built a little Muybridge-inspired lantern, and we did terrible ideas and good ideas to it, and he makes hardware hacking seem more accessible than anyone I have ever met. Also now I know what that void business is about at the beginning of a C function (or method, or class, or whatever it is)! Neat. It’s just where you say what the function returns. And if it’s nothing (i.e. the function just does things, but doesn’t return anything), then the answer is “void.”

Julia Evans (awesome RC alum and programmer and Python community person and omg yes) has some post that I can’t locate about how saying “I don’t know/understand that” (at RC, in the world, etc.) is awesome because it gives you SUPERPOWERS for learning new things! If someone is telling you about something, they probably know something about it, and they can probably teach you some things. And I keep telling this to people, and because it’s Recurse, we talk about how it’s cool to say “I don’t know” and learn new things, and, yay.

I also finally, toward the end of the day, got more emoji into my weather program (yay!), but ALSO I got optional weather alert information to display (or not display/crash, depending on whether there are any active weather alerts for that location). How fun!

Would you believe I feel like I accomplished almost nothing today? It’s true. “I just did, like, a thing to my little weather program; it was kind of silly, mostly.”

But I am going to go home at a reasonable hour and maybe even get to bed before midnight. It could happen!

Recurse Center: week 9, day 3

Woke up with a headache. Tried to wait out the headache. Tried to ibuprofen the headache. How about breakfast? How about lying on the couch? Reading? Closing your eyes? Taking a nap? Headache, headache, headache.

Got to RC kinda in time for Ranjit’s excellent Arduino exploration talk, which made me super happy. My appearance made the audience three people, which was kind of a perfect size. Alicia asked really good questions. I’m starting to think maybe I’ll finally take the leap and try some hardware stuff. I want to hack a dress so bad.

Went for a sweets & coffee walk with a few folks, came back and did Positive Peer Pressure time with Alicia so we could get some blog stuff done. Introduced her to Paper in case she wanted to draw anything for her posts; she ended up creating a great graphic explanation of her recent explorations with py2app (which she presented last week!).

The one code-related thing I started digging into at the end of the day was “how do I pull a small amount of relevant data from Dark Sky’s alert objects?” I want to be able to print a little bit of alert info in Weather Balloon if it’s relevant (and, “happily,” we’ve had two days in a row of air-quality alerts this week, so I have the data I need to play with).

Turns out alert objects are lists that contain dictionaries (two, this time; looks like that’s because there are two alerts: one from NJ, and one from NY. Sigh). My love for bpython grows — I’m enjoying it even more than IPython (!). It’s not perfect, but nothing is, and it’s still a joy to play with.

And now it’s time for art night! Postcards? Friendship bracelet? Cloth-pad sewing? Time to find out!

Recurse Center: week 9, day 2

On time for check-ins! The people for the group I signed up for weren’t there, but two other people were (all three of us missed check-ins yesterday), so we had some sort of Rebels’ Check-in and I ended up feeling really positive about it (and talking honestly about what I’ve been working on). And maybe Jeff will teach me some Python/database things, soon or after I’ve studied them some more on my own! Rad.

Had a morning of a bunch of great conversations and NO code. Welp.

But also there was AbstractSaladFactory, and I finally remembered to bring something to share.

One of the residents had shared this: http://www.station-c.com/open-salad-tuesdays/

We RC’d it, whatever that means, and now it’s a semi-spontaneous “everybody who wants salad, just bring a salad ingredient,” and then we all get salad with a bunch of delicious things in it (and nothing we don’t individually want). I didn’t make enough salad for myself, and now I’m hungry again, but it was so good, and really fun to share food with people like that.

Headed back to my Udacity course, which I’m really enjoying, aside from the zoos and the fish-eating (at least it’s, like, bears eating fish; that’s fine). It is the most un-vegan MOOC I’ve ever tried, but aside from that, it’s cheerful and interactive and light on its feet.

Installed an OS X system update (ooh! adult points ++), and when restarting, I thought, “oh, some of these windows with many tabs should be closed.” In theory, this is wise; in practice, I have this problem where I forgot about the Emily McDowell tab and everything she makes is basically magic (did you hear about her amazing empathy cards?). If you ever want to get me a mug or an art (I have her “I am a grown-ass lady and I do what I want” at home) or a tote bag or notepads for loving mischief or really anything, you know where to go.

Not such a code day. But went for a run after RC with RC friends (OMG! first run in several months), and then it was movie night and we watched Big Hero 6, and some days just aren’t super productive in the ways we expected.

Recurse Center: week 9, day 1

Didn’t get out the door on time, and couldn’t make up the time on the funky loaner bike. (I am SO looking forward to getting my bike back today.) Missed check-ins, but didn’t miss resident Ranjit‘s “let’s play with words and see what mischief we can make” workshop shortly thereafter.

Unfortunately, I was distracted by trying to get IPython Notebooks up and running again on my computer. (They worked last week! In a virtual environment. For reasons I don’t entirely understand, it was important to me to get them running ~*~ globally ~*~, so off I went.)


Doing the same thing got me different results
(if this is tl;dr to you, just skip to the horizontal line): Continue reading Recurse Center: week 9, day 1

Recurse Center: week 8, day 5

Came in kind of late, because I had a rough time getting up, and also I had to stop by the bike shop. Alas, my shifters did not ship out yesterday as expected, but rather today, so it won’t be done til Monday. However, he said he’d be happy to loan me a funky little three-speed if I wanted. Sounds like a good excuse for an adventure. So now I have my fancy lock on a decidedly unfancy bike, and I’m learning about this internal shifter business, and the steering is weird, and it’s good to try new things. It’ll make my bike magic-feeling on Monday, I bet.

It’s almost 4:00 and I just touched my terminal for the first time today, though. Womp womp. Have had some good conversations with folks & am attempting to hand-wave away a headache, though.

On a quest to add git status stuff to my bash prompt, I ended up in a world of mystery and git source code, like the auto-completion script.  Hot diggity.

I worked for a little bit with Tom (it’s his last day!!) on a problem I put away weeks ago (my Pebble Time watchface sometimes gets a square, instead of numbers or letters, for values like “20:00” or “Thunderstorms”), and if I make the font smaller, the problem indeed goes away. At least for the time.

The thunderstorms…that’s another issue that I’ll need to figure out how to test, too (switching my phone’s time manually was a perfect test methodology for time stuff, though).

As it turns out, what I had energy for today was 1) going to get very-late lunch/early dinner, and 2) continuing to modify my bash prompt, and starting to mostly use ANSI escape sequences for the colors:

terminal bash prompt with the command: echo 'this is the best chick party I have ever been to' and emoji of balloons and a baby chick

eta 2015-09-10: what is the above, you ask? I just realized I should add this! Bold part is the prompt itself; the rest is git fanciness that I mostly understand:

. ~/.git-prompt.sh
PS1='\e[0;35m\]\t \e[0;32m\]\u@\h \e[0;33m\]\w\e[1;39m\]$(__git_ps1 " (%s)")\e[0;22m\]\n🎈 🎈 🎈 🐣 🎈 🎈 🎈 '

# magic git command completions
source ~/.git-completion.bash
source ~/.git-prompt.sh

I also got my git status added in (see above), after a butt-ton of googling and trying things and wondering why things didn’t work and trying other things (there are various pieces of advice/instruction, and most of them rely on you knowing a bunch of stuff they don’t explain. I’m not sure I could even follow my path backward, now, but it works!).

I can’t believe I’m hoping for another air quality advisory just so I can easily write and test some code to print that in my weather script.

It’s also karaoke night, so it’s time to get my song on.

Recurse Center: week 8, day 4

Actually left early enough to get in and have some time for myself! However, my rear shifter started acting up a bit on the ride home last night (shifted fine in one direction, shifted unsatisfyingly in the other), and it turns out I snapped a spring. Welp. Early => late. I tried. And tomorrow, I’ll have new bar-end shifters, which are not nearly as subject to the whims of “we don’t really make 9-speed things anymore” and haven’t changed in approximately ever. The bike shop dude also mentioned that they’re less prone to failure, easier to fix, and less appealing to thieves. Onward, then! That’s what my bike Goal within Simple is for, anyway.

Forgot I’d signed up for Mary’s “git from the inside out” talk/workshop, and while by the end of it I was a bit tired (and toasty; that room gets really warm really easily), it was really delightful to start digging into the guts of git, seeing what happens as one takes different actions. Really appreciated her way of explaining things and choosing clear examples, too. (She had two files, number.txt and letter.txt, each with one character inside, and the changes were a => b, 1=>2, 2=>3, etc.)

Headed back to my little weather utility after lunch, cleaned up some cosmetic stuff.

Oh! And last night, Nathan helped me figure out why I was getting this dang error with the “daily” summaries (which give the next week’s weather) from Dark Sky:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xb0' in position 70: ordinal not in range(128)

Turns out it’s the degree symbol that pops up in the weekly summaries:

Light rain on Sunday through Wednesday, with temperatures rising to 88°F on Sunday

Solved! I knew how to fix it (and had), but I didn’t know why the error had popped up in the first place, and this explained it.

Finally felt the pull of the emoji, too. I’ve temporarily got a little snake on my bash prompt. And a bunch of stuff I’ve been meaning to do for ages.


phenix:tinyweather liene$


timestamp, liene@phenix, full file path, snake emoji

For the curious and tentative like me, my PS1 variable in my .bashrc file, which sets your bash prompt, looks like this (googling “ps1 options” was super fruitful!):

PS1='\t \u@\h \w\n🐍  '

Broken down into pieces:

  • \t adds the current time in HH:MM:SS format in 24 hour time, as is right and proper.
  • \u is the current user’s username.
  • @ is literally just itself here, not doing any wizard things at all.
  • \h is the interesting part of the hostname (ugh, I don’t need a .local on my own machine — that’s what \H does).
  • \w is the whooooole current working directory’s filepath, with $HOME abbreviated with a tilde.
  • \n is a plain ol’ newline, because this stuff is getting gnarly long and I still want to TYPE commands after my prompt!
  • and then there’s the snake emoji, which can be rendered so many different ways. Look at it. Just snakin’ around. I love you, snake. Even if I later replace you with something else.

So much better.

Anyway the point is that I want to get emoji into my weather app, and I fell down a rabbit hole, and they ended up in my bash prompt instead (or in addition, as soon as I get them added).


Um, so it’s kind of the best to ask my computer, from the command line, to go fetch the weather and then print appropriate emoji.

Also then I got SUPER WILD and decided to actually present my stuff? We have presentations at RC on Thursday nights, 3-5 minutes long, so I actually made slides and talked in brief about my project and omg. That’s the first presentation I’ve given since Open Source Bridge 2012 (!).

Aaaand it’s Tom the facilitator’s last day (mostly), and so we said nice things and toasted him! I will send him some nice words later (Inbox helpfully decided that the email asking for these nice comments could be auto-archived, which, ugh). Bummed that he won’t be around for our last four weeks, but so excited to see what he does next.