Mary Dickson Diaz

Code, Life, Learning

Tag: meta

you might be using pingbacks wrong if…

You all know about pingbacks, right? It’s a tool for seeing when other websites are linking to your content. Used correctly, they help facilitate a dialogue between two pages/people, build friendships, end war, etc.

Except… here on my page, it’s exclusively a conversation with myself where I am regularly sent emails asking if I want to approve my own links on the site. And usually I’m like, sure, she seems trustworthy, she is the *sole admin and contributor* so that’s probably ok. There’s no way to “pre-approve all links from this site to this site” so I’m stuck doing it on a case by case basis, leaving these weird pingback links that I don’t want or need. All along I’ve thought “this can’t be right” but only recently figured out how to fix. It is *not* intuitive, as I will attempt to show you here as I rain down shame upon WordPress, but it is also an easy fix.

The WordPress user interface for linking to content on your own site is deliberately (?) deceptive.

So what happens is that anytime I link to content on this page, let’s say I want to send you to my page about bots, I click the word “bots” and the following screen pops up:

Screen Shot 2015-07-27 at 8.53.40 AM

See how it helpfully has a “link to existing content” section? So that’s what I’ve been using. Let’s look for bots and find my page (or post or whatever)…

Screen Shot 2015-07-27 at 8.54.02 AM

And…. done! So what happens now is that I get an email saying “A new pingback on the page “bots” is waiting for your approval from Website: Mary Dickson Diaz. Options: Approve it, Trash it, Spam It. Please visit moderation panel.” And I have to click “yes, approve it” because the site is treating it exactly the way it would handle a real pingback from an external site (if someone wants to give me a pingback to test this out, that would be rad) or a new commenter. And THEN once I hit approve, it adds a little comment-type remark on the bottom of the page with a note that the content’s been linked to elsewhere.

Obviously I don’t want to go through all that, right? That’s overkill when I just wanted to link you to my stupid page about bots.

INSTEAD… what you can do to get the page to make an internal, relative link instead of an absolute link (which sets the wheels in motion for a pingback) is to do exactly what I did in the steps above, but then remove the “”. Keep the backslash in front of your post link. Like so:

Screen Shot 2015-07-27 at 8.54.30 AM

I like to open links in a new tab because I am notorious for clicking down rabbit holes and forgetting how I got there and what I was trying to do in the first place.

So simple! Why isn’t this part of the standard user interface? Why did I have to google all that to figure it out? These are questions I have for you, WordPress, ruiner of inboxes.


I don’t know a lot about migrating website content. I do know that how you link to internal pages can make life easy or difficult if you later decide to change the structure of your page (let’s say I decide I want everything here to live in instead, or I change my domain name to I believe that relative vs. absolute linking is almost always the best way to go, but others can chime in if I’m wrong.

Better links, cleaner site, less email. What could go wrong?


real life is surreal

What a welcome back from our honeymoon!

I’m feeling pretty mushy about marriage anyway, so if you had some dust in your eye for a moment there, I join you.

We got home late Wednesday and yesterday I had my first Ruby class with Code Fellows. There was some confusion about the dates (I missed the first class), so I got started thinking that I had until Monday to get caught up, and then, surprise!, learned that class was actually that evening. I over-prepared though because I did the assignment that everyone else in the class was told to wait on. Despite that initial snafu: so far, so good. I peeked ahead and am pretty excited about some of the assignments to come, most of which come from the text we’re using, Learn to Program by Chris Pine. Also, this class is scaffolding a lot of the github interaction, which, thank God, because if you get that wrong in the beginning it just makes everything miserable.

Before class, I stopped for coffee over in South Lake Union and was struck by an awesome sense of accomplishment. Here in this mundane moment, on a beautiful day in Seattle, I was doing something very familiar, back to a routine and a path I started much earlier this year. It’s like I was rolling along, and then had this period of “brb, gotta go be a superhero for a month” — and I did (we did) — and now I’m back, feeling stronger and fortified, even though I and everything look exactly the same. I still have all the images, memories, and adrenaline of our wedding and honeymoon rolling around in my brain, but I’m the only one who can see them. Life moves on, but not in a sad way. More like: “holy crap, that actually worked. nothing broke, and everything’s better.”

Continue reading

you can go home again

This morning I was copied on an email from some new colleagues at the Collaboratory about a grant application one organization is looking at, asking if I might be available to help, and I just about fell out of my chair with excitement. My initial response was something like this:

“Yes, YES let’s look to see who else they fund and what programs might overlap with their giving priorities oh and by the way have you heard about this other funding opportunity coming up, someone should look into that, I can do it if no one else is, and also do you have a board? and a strategic plan? what’s the vision statement? what’s your Big Goal? how soon can we start? yesterday?”

…and then I toned it down because, do not scare away the nice non-profiters, Mary. It’s something of a relief to have this reaction as opposed to throwing my phone across the room: it reinforces the “yes, AND” narrative (yes I am good at my past work and I enjoy it, AND I want to try this other thing now that I think I could be good at, too) as opposed to a position of “Hell no, I’ll never go back, Coding or Bust.” It is nice to know something about something, and be acknowledged for it.

Fundraising may be immensely more satisfying to undertake as a volunteer operation though, we’ll see, or maybe it’s my True Calling and I just need some time away. I have yet to encounter a career that would not benefit tremendously from adopting the professional norm of “sabbatical time.”

hello world

On a related note, I’m reaching a point in my coding progress where the beginner stuff is too easy but the leap to more advanced work is still beyond my grasp. It’s hard. Other people seem to “get it” faster than me. They explain it and I still don’t get it. They explain it again and I feel obliged to say “ohhhhh….” And they say: “Do you understand now?” And no, I still don’t understand, but I say “huh” or “maybe” or “let me tinker with it some more, this has been helpful.”

The process is humbling and, whatever comes of it, I can’t imagine that more people wouldn’t benefit from such an experience.

state of the code

this kid has A Plan

this kid has A Plan

(cross-posted with The Plan)

In January 2015, I made a tentative 4 month schedule for what my code learning would look like, and for the most part I executed on it. Anything optional got shelved. Almost all the MOOCs got shelved (I did stick with the MIT one about 3/4ths of the way through). I went to one meet-up group meeting, once, which is ridiculous given the wealth of resources in our community and openness to sharing, but hey, this journey is about learning and I’ve learned I’m not a meet-up person.

Not surprisingly, in-person class commitments were key to moving forward and keeping me accountable, and I’ve had overall positive results with Code Fellows so far.

If I had to plan it again, here’s my do-over itinerary:

  1. First, get you a Mac, or get ready for a world of pain.
  2. Unless you’re planning to do the full-time bootcamp (in which case do everything you can the month before), take a night class with Code Fellows ($500 for foundations I or $1,500 for foundations II if you already have some code experience and want to prep for an accelerator).
  3. If you have an opportunity to apply to Ada Academy, do it! Don’t let the required video and their unpredictable cohort schedule scare you away, unless the latter is a deal breaker. This cohort timing wouldn’t have worked for me, but that’s not why I didn’t apply — I didn’t apply because I was scared to make a stupid video. And that’s super lame. So, you know, just do it (and then turn them down if it doesn’t feel right).The act of applying will be a useful exercise for you. This year they had 265 applicants and selected 24 women, and, while I’m confident the number of applications will only grow, those odds are not terrible. You can do it!
  4. You’ll want to work all the way through the HTML/CSS web track andJavaScript tutorials on Code Academy. These are required for the Code Fellows foundations classes and a good intro/refresher for everyone else. Don’t let it be your only teaching source, but it’s not a bad piece of the bigger pie.
  5. Work through MITx 6.00.1x  Intro to Computer Science with John Guttag. I bought the textbook but never really used it, so skip that. Instead get the textbook for…
  6. Python the Hard Way: the book is offered for free entirely online, so a paper copy is optional (but nice, IMO, because you can keep going without an internet connection). If the hard way isn’t your style, try Elizabeth Wickes python for informatics instead.
  7. Get familiar with git (where you’ll keep track of your programs), unix/terminal line(where you’ll run/edit/etc your programs) and a text editor, I use Sublime 2. Like, really, learn them. This could maybe wait until month 2 or 3 but the sooner the better.
  8. Tackle a few side projects to start to grow your portfolio and have something to practice your new skills on: mine were this blog (powered via WordPress), a non-Wordpress pure html/css webpage, and twitter bots. Bot, bot, bot!
  9. Talk to programmers to learn about their jobs, and research code school options that might be a fit for you.
  10. Hopefully you made some friends in your class (or online) and have an ongoing study group in the works. Or, for Pete’s sake, go to some meet-ups. I hear they don’t bite.
  11. You should probably try a few languages/programing paths to see what’s a fit. At some point you’ll want to narrow down a programing language. Keep in mind that once you know one, it’s easy enough to pick up another, so you’ll also want to pay attention to who’s teaching what and where the opportunities are. I personally like Python and there are lots of jobs in JavaScript, but I had a great experience with an instructor who teaches the Ruby accelerator and that’s what I’m currently focusing on.
  12. Next steps for me: take another foundations II class in June (this one in Ruby), and apply for the Ruby accelerator in August. On this path, I’ll be “done” by the end of October and looking for jobs or internships before the start of 2016. We’ll have to take a good hard look at finances after the wedding and honeymoon this summer. I’ll be most comfortable if my period of unemployment lasts no longer than a year, but I’m mentally prepared for a career shift to last up to two years (same amount of time as full-time grad school for most programs). One year could be crazy wishful thinking.

And that’s it! I tried and failed to break this out month-by-month, but I hope this is helpful to someone even without that timeline. I’ll keep my first (aspirational) draft on The Plan page that has many repeat resources (and a lot more that I didn’t get to). Enjoy! –Mary

flipping out

First, a note about learning style:

It’s been brought to my attention that some of what I’ve been interpreting as, well, bad or (assuming good intent, which I do) disorganized teaching is actually something called “flipped classroom” which I’d heard about in my previous job. I think it’s a not uncommon style for college-level teaching. The gist is: students read the material beforehand and come prepared with questions and ready to teach it back. The professor is then more of a coach/mentor, and by having students teach the material you hit on some really high level learning objectives. There’s not a lot of teacher-driven demos/lecture during class time (which, inconveniently, is something I find really helpful for my own learning style and wrote about in learning and watching people code).

So, this helps me with perspective. And, again, it’s a shame that I’ve been without working internet at home for 3/4ths of the class (not planned), and have not had as much time as I’d like to really play in the material. These are things *solely on me*.

Continue reading

the importance of project-based learning

Good morning, scholars!

Today I want to reflect on the last two weeks of self-teachiness: some wins, challenges and lessons learned.

The first big win I mean *huge* was actually leaving my job to pursue this. I’m incredibly grateful for my most recent experience at UW and everything that came before, and to some extent I’ve been working on crafting my “story” based on past exposure/experiences that have pushed me gently towards the idea of technology as a tool for social change. But, I could also go work for an org that has nothing to do with any of that, and that would be allowed. I’m feeling validated this morning by a quote from Andrew Sullivan, blogger pioneer:

I’ve now been blogging daily for fifteen years straight… That’s long enough to do any single job. In some ways, it’s as simple as that. There comes a time when you have to move on to new things, shake your world up, or recognize before you crash that burn-out does happen.

Let my narrative be one of “she picks up on things fast, she seeks out additional resources, she works well in teams, she’s service-oriented, and she works super hard and achieves results.” That I’ve already proven these things in non-profit settings is of no consequence to someone who wants to hire me to write JavaScript (though it matters to me). I am not, as I introduced myself earlier this week, “a fundraiser,” but a teacher and fast learner with a passionate desire to build stuff.

A second big win was building a Twitter bot! It’s not yet fully-automated like I had intended: because heroku re-sets daily, I have to update and re-upload my text file once a day, deleting the names that have already been tweeted. There is probably a code solution for this, I just don’t know what it is. This is a great project for any one of the “come have drinks, bring your projects!” meet-up nights on my calendar now. Plus, going through the motions of re-committing the project daily has upped my comfort level with git and heroku, both of which will come in handy later.

Which brings me to a key lesson learned: project based learning as key to staying interested, engaged, and moving forward. When I was building the bot, I couldn’t *stop* building it until I just about fell over from exhaustion. In comparison, the last two days have been just focused on working through the code academy tutorials, and I’m feeling exhausted from boredom. (37% done… ok, now how much…. 39% done ARGH….) As a side note, the MIT intro to programing MOOC seems to have a nice combination of guided learning and autonomy. Recommended!

Next week I start my first Foundations class with Code Fellows here in Seattle, and am excited to meet my classmates and start building that community. Despite feeling some online tutorial fatigue, I am super impressed with all the pre-work they’ve provided to help us maximize our in-class time.

Looking for project ideas to stay engaged? Check out these resources:

1. Dash by General Assembly – build a website, a tumblr theme, a css robot, and more

2. Martyr2’s Mega Projects Idea List – tackle these in your programing language of choice!

3. Joel on how to make an eBooks bot – this is a great first twitter bot, and *bonus* should not require daily updating since the text pulls are randomized (uses ruby)

And finally, this month Josh and I went to a local performance of Hands Up: six personal and powerful monologues by contemporary black male playwrights. The original CUNY performance is available online and it’s a must-watch. A few days after the show, I read about NY Times journalist Charles Blow’s son being stopped *at gunpoint* outside the Yale Library because he “fit the description”–three words more chilling to me now than ever before. Set aside a few hours and give this one a watch/listen.

© 2017 Mary Dickson Diaz

Theme by Anders NorenUp ↑