Author Archives: Tatyana Berdan

Moving On and (Hopefully) Up

To continue my progress with code, I’ve broken down my future goals into three sections:

First, I would like to continue to maintain and build on my site. There are three features I would have liked to have on my site but didn’t get to working on for the project:

  • I would also like to incorporate Google Analytics into the site to track my visitors and am giving myself until September 6th, at which point the site will have been live for a month, to have this figured out.
  • I would also like to add a subscription button to my blog and am giving myself until September 6th to do this.
  • Currently, my custom meta boxes still won’t register and save spaces, and I am being generous and giving myself until the end of September to fix the issue.

In general, I would like to continue learning programming languages and brushing up on my code skills. For this, I am committing myself to two goals right now:

  • I would like to use Codecademy to learn the basics of Python. We’ve talked a lot about Python in our class, and it seems fairly common and useful to know. There are twelve lessons in Codecademy’s python course, and I am once again giving myself a generous amount of time to finish them. I would like to make my way through the entire lesson by the end of October (Tuesday, October 31).
  • I would also like to continue brushing up on my JavaScript and PHP skills because I feel those were the two languages I struggled with in particular over the course of this class. However, I don’t know the best way to go about doing this?

Lastly, a couple of weeks ago, I attended a Women Who Code event here in DC and, even though I’m not sure if I really qualify as a woman who codes, I really enjoyed the experience and would like to continue to stay involved with this organization. I want to commit myself to attending at least two WWC events a month. I attended an intro lab in early August and will be going to a Lambada Ladies event on August 24th.

Final Project Edits And Final Thoughts

I really enjoyed seeing everyone’s final projects last class — it felt good to know we all faced similar struggles and it was awesome to see the progress we all made.

This past week, I made a couple of changes to my final project based on feedback from my classmates, including more CSS code to change the color and look of my content. I added social media links to my footer and tackled – albeit unsuccessfully – the issue of my custom meta posts not showing up in my blog’s ‘archive’ and ‘recent posts’ sections. I was able to work around the problem with a plugin that allowed me to create separate ‘recent posts’ and ‘archive’ feeds for my book reviews. Although it’s not the solution I would have wanted, it will do for now. There are still things I’m not happy about with my site – in particular how my meta boxes and custom fields are functioning within my posts. I hope that as I continue working on the site, I can work through these issues.

Overall, I really enjoyed working on my final project. I’m pretty proud of my personal site; I’ve wanted to create one for a while so this was the perfect opportunity. To be able to say I coded some of it is an added bonus. Going forward, I would like to keep it up and continue making improvements to it.

Although I am by no means an expert coder, I’ve really enjoyed taking this class. It was definitely the most challenging course I’ve taken in the Georgetown program, but coming into the class with zero coding experience, I am really happy with how much I’ve learned these past couple of months. I enjoy coding and would like to be able to do it regularly in some capacity moving forward, even if it’s just making edits to my site.

I’m looking forward to listening to our guest speaker next class and hearing more from my peers regarding how their adjustments went.

Finished Final Project

Looking back at my final pitch last night, I am happy to say that I was able to make pretty much all of the customizations I set out to in my final project. In addition to creating a site with sections for my resume, writing, and blog, I created a custom post type with custom fields and meta boxes, used one plugin to add a rotating gallery to my front page, and used another to add an interactive poll to my blog.

My most complicated customization was definitely my custom post type, i.e. the bane of my existence for the past two weeks. It took me a long while to figure out how to make the data in my custom meta boxes echo out in the post. I finally did it by creating separate single.php and archive.php files for my custom post type but had to spend several days Googling and searching the internet before a couple of forums pointed me in the right direction. Once I was able to get the data on the page, I hit another snag when it came to trying to style it. No matter what I did in CSS, my meta boxes wouldn’t change in appearance (and all I wanted was to move them down a few spaces) so I ended up adding spaces in the actual PHP code as a kind of work-around solution. Overall, my custom post type turned out pretty well, although I am still having trouble getting it to appear in the “archive” and “recent posts” section of my blog. I will look more into this to see if I can figure out a solution before Wednesday.

Because I used plugins, both the gallery and poll were fairly easy to implement – the most difficult part for each was figuring out what code I needed to insert in what document to get the features to show up where I wanted them to. Overall, both features look good and work well, except for the poll, which seems finicky for some reason. I tested it multiple times and sometimes it let me vote and sometimes it would just get stuck on showing me the results page, not letting me vote again. I plan to look into this as well.

I’m interested to see everyone else’s sites and customizations and to see what feedback I’ll get about my code. I definitely know it’s not perfect and am looking forward to making any changes that can make my site better.

Final Project Update

Working on the project for the past week, I’ve been able to tick off a couple of the customizations on my list: I’ve created a custom post type for my book reviews, created hierarchies to sort the posts by genres and authors, and created a custom meta box for rating each book. Unfortunately, I have yet to figure out how to have the data from the meta box save and display on my posts. I am rating the books from one to ten, and, so far, the number I enter stays in the box after I’ve saved and hit publish but doesn’t show up when I preview the post. I’ve been adapting the code from the book list plug-in, which has been a lifesaver, and I’m not sure where I’m going wrong. I’ve looked at various tutorials but none of them have worked for me. I know Jaclyn was having a similar problem with her meta boxes, so maybe we can troubleshoot that together on Wednesday.

I would like to make more edits to my custom post type, including creating a subtitle custom field where I can post my favorite quote. I’ve downloaded the advanced custom fields plug-in but am having a little trouble navigating how to use it.

I would like to use this to also add a “Currently Reading” custom field to my regular (non-custom) posts. I’ve managed to get a “Currently Reading” section to appear on my posts but am not sure how to get the data in it to display when I publish. I’ve been using this tutorial, which tells me you have to put code into the WordPress Loop. I’ve tried to create a loop in my child theme folder so I can insert the code to make the field display (since I know we’re not supposed to touch the core files) but keep getting errors.

I also tested dropping my files into FileZilla this weekend and got it to work (I think) – it was cool to see my custom post type appear on my live site!

I’m hoping to wrap up work on my custom post type before Wednesday and spend the second part of the week focusing on my second big customization: creating a custom poll to have visitors interact with my site and choose what book I read next.

I am crossing my fingers that I will have enough time to get everything done and that the customizations I finish will be enough.

API Readings and Project Update

Readings

In terms of this week’s readings, I’ll echo Allie’s thoughts in that I understand the general purpose of APIs, but, like she pointed out in her post, I’m not quite sure how they apply to our final projects and am a little confused on the more minute details, like resting APIs and JSON.

Final Project

I have to say I’m feeling a little discouraged about our final project. I had issues over the weekend with my MAMP not starting the servers when I prompted it to and couldn’t access my local site. I was able to figure out how to get the app to work with a few hours of Googling and was feeling pretty good (and like a real web developer – yay!) but quickly realized that I’ve now stumbled on a new issue that’s still preventing me from accessing my local site.

My new problem is that when I run my local server and type in the address for my project (http://localhost:8888/finalproject/), I’m taken to the wp-admin page below:

I’m a little confused about why I’m seeing this page because it was my understanding that we had already installed WordPress in class together a few weeks ago? When I go through the final steps of installing WordPress here, I get a page showing me a bunch of database errors telling me certain files don’t exist:

And finally, when I click “login” at the bottom of the errors page, I get the following error message on a new page:

So far, Google has been unsuccessful in helping me figure out what’s wrong.

I didn’t want to lose time so I’ve continued to make changes to the code in my htdocs, even though I can’t preview it to see if the changes are correct. I created a child theme last week and have been working on creating a custom post type, which is probably my most complex customization. As suggested, I’m modifying this book list plugin.

I will keep Googling to see if I can find a solution, and, hopefully, I can get the local site issue resolved before Wednesday or can get help fixing it during class. In the meantime, I have a few other questions:

  • We talked about how some of the more superficial changes should be made on our live site, rather than our local site because the changes won’t necessarily transfer over, and I want to know when we can do that? Should we wait until we make all of our more back-end changes or can we go ahead and make these smaller changes to our other site now?
  • I think we may have covered this in class as well, but how often should we be saving the changes we are making to our GitHub repository? Is it enough to save it after we’ve completed a customization or should it be more frequent?

Wrapping Up PHP and Reading Up on Project Management

A small update on last week’s PHP assignment because I was still having trouble with it on Wednesday: I think I was finally able to get my basic poll to work and show up correctly in my browser. After doing a bit more Googling, I think my issue had something to do with the way I was naming my files. Once I adjusted the name of my PHP and HTML files both in the code and in the individual file names, the poll ran correctly.

In terms of the readings for this week, I have to say being totally new to project management, it was a little difficult to keep up with our discussion last week. I was still confused about the difference between waterfall and agile methodology. However, the readings — especially the agile manifesto and the best practices video — helped me better understand the agile methodology at least. It kind of seems to me like this is the more popular method since it’s more team-oriented and focused on customer input?

I really enjoyed Jared Spool’s piece on design thinking, particularly the section about design being more than just a way to make things pretty, because that is an issue I’ve found myself having as I’ve begun working on my project. In terms of my project, I’ve been slow to start this week, but I hope to have a child theme created and begin working on a custom post type for my blog before Wednesday. I think I’ve been too caught up in thinking about how to make it look pretty — thinking about which theme is the best looking, what aesthetic I want — rather than remembering I need to be focusing on functionality and the idea, as Spool puts it, that design is about problem-solving and end-to-end solutions. On a less serious note, I also really loved his reference to the stone soup folktale because I’m pretty sure I heard the Russian version as a child. 

Finally, I’m including a link to my WordPress site here once again and want to give a shout out to Victoria for answering my questions about how to set it up last class! Also, here is where the code will show up on GitHub.

Creating a Poll out of PHP – So Close But Still So Far

For this week’s readings, going through the articles definitely helped clear up some questions I had regarding WordPress, and I am excited to use some of the tools we read about — i.e. custom post types and meta boxes — to create my personal site and have included them as modification options in my final pitch.

For this week’s PHP exercise, I used the W3School’s tutorial on how to make a poll to try and create a basic poll for my homepage. The tutorial talked about AJAX — Asynchronous JavaScript and XML — and was a little more advanced then what we’ve covered so far in the Codecademy lessons and in class. However, I really wanted to try this example because I would like to, if possible, create a poll for the blog I want to build for my final project. I want to create a book review blog and have people vote on the next book I should read, and I tried to make a basic example of this this week.

However, I wasn’t completely successful. I was able to modify the HTML and most of the PHP correctly and got the poll to display and be clickable. The major hurdle I’ve come across is that I cannot get the site to accurately show the updated results of the poll on the page after the click, the way the tutorial intends. I think the issue lies somewhere in the way my PHP file is interacting with the text file I am using to store my poll data, but, to be honest, I’m not entirely sure where I’m going wrong. I will keep working on the code to see if I can get the outcome to show up the way it’s supposed to before class on Wednesday.

In terms of creating a poll for my final project, I am still really interested in the idea and have found a plug-in I think I may be able to use that will help make the process easier, since other tutorials I looked at for creating polls seemed to suggest you need to create a database and I think that may be too challenging, especially after my struggle this week.

GitHub link: https://github.com/tatyanaberdan/phpassignment

PHP and WordPress Intro

Compared to the past couple of weeks — having to navigate JavaScript and JQuery — this week’s Codecademy lessons on PHP were actually fairly simple and easy to understand. Besides the foundation I could draw on from our previous work, I think what really helped was that I was very conscious this week about spacing out the work and coding a little each day. I know several of my classmates have been experiencing issues with Codecademy being finicky in these lessons, and I ran into a similar issue for the first time this week when the site took too long to read the for loop I created. I couldn’t figure out what was wrong with the program and eventually had to reset the code and refresh the page several times for it to finally work.

Overall, I think the one thing I’m still really struggling to understand with PHP is its function: how it fits in with the other languages we’ve learned and  how all of these come together to form a website. I understand the idea that PHP is read by the server and HTML, CSS, and JavaScript by the browser, and I understand the functions of the last three and some of the functions of the first. However, I’m struggling to see the big picture and exactly how we’ll be utilizing all of these in our final project. Hopefully, as we delve more into WordPress and our individual sites, this will become clearer.

This week, I also started delving into the WordPress readings, as suggested, and the reading on themes really helped clarify some of my lingering questions from last class — like what exactly the difference is between a theme and a plug-in. I hope to finish most of these readings before Wednesday.

For the final project, I submitted a pitch for creating a personal site. I am looking forward to this week’s closer look at WordPress so I can get a better understanding of what I want. Right now I’m worried my ideas for what to create and how to modify my site will either come out too ambitious or not ambitious enough.

Final Project Pitch for Personal Site

For our final project, my goal is to create a personal site to showcase my academic and professional experience to potential employers, who will be my main audience. I envision the site containing several sections: an about me page, a copy of my resume (in a format I can easily and frequently update), a section for work and writing samples, and one for contact and social media information. Overall, I would like the site to have a simple, clean-cut feel and be easy-to-navigate, particularly the section of my writing samples. I would also like to include a section for a small book review blog. I would like the blog, like the rest of the site, to be easy to navigate based on genres or authors.

In terms of custom features, one feature I would like to include is a rotating gallery on each page comprised of travel photos I’ve taken. Once I find a WordPress theme that would best help me get the clean, simple look I want, I will modify the CSS code to fit with that overall look.

Goals:  

  • To create a functional and complete personal site to showcase my academic and professional experience.
  • To effectively showcase my writing skills and previous work experience to potential employers.
  • To create a simple, clean-cut, and easy-to-navigate site that is logically organized.

Audience:  The site will be geared toward potential employers, and my blog will be geared toward fellow book-lovers, probably young millennials like me.  

How I Will Achieve My Goal:

  • Modify the theme to create a multi-section site with pages for an about me section, a copy of my resume, a page for work and writing samples, and a page for contact and social media information.
  • Create a side-blog and include at least one blog post to start.
  • Create a custom post-type for book reviews for the blog, as well as a metadata box for my current read.
  • Find a way to have visitors interact with the blog, like maybe a “what should I read next?” survey visitors can vote on or a rating system.

Theme: I plan to use Twenty Seventeen.


Track: full-stack

Planned modifications:

  • I would like to create a custom post type for book reviews on my small side blog which will include a field for number of pages, favorite quotes, and some type of rating system.
  • I would also like to experiment with creating a custom metadata box that will allow me to update any post I make to my blog with what I am currently reading, i.e. a “currently reading” or “current book” field.
  • I would like to see if I can figure out a way to have users interact with my blog by creating a survey where they can vote on the next book I’ll read and review.
  • I would like to create a self-rotating gallery on my main page of photos I’ve taken.

URL: tatyanaberdan.com

Developer Profile: NPR’s Wes Lindamood

For the profile, I reached out to Wes Lindamood, who works as a senior interaction designer for National Public Radio. 

What made you decide to pursue a career in web development?

I graduated from college 17 years ago. Man, I’m getting old. Anyway, when I was in school, I had a strong interest in journalism, graphic design, and advertising. Unsure of how to combine my interests, I turned to an amazing advisor, Dr. Cassandra Reese. It was her wise counsel that guided me to the interactive multimedia program in the School of Visual Communication at Ohio University. I was immediately captivated by the potential to tell stories and build experiences with code. I’ve been working at the intersection of journalism and design ever since.

Wes worked for several other organizations before landing his current job at NPR in 2010. Before joining the NPR Visuals team, he worked as a platform and enterprise story designer for USA Today and as an art director for the American Chemical Society, where, among other things, he worked on the organization’s website and on producing its online newsmagazine.

What drew you to work as a web developer for NPR?

Quoting Congresswoman Shirley Chisholm, Michel Martin has said that NPR is “unbought and unbossed.” The phrase “unbought and unbossed” was Chisholm’s presidential campaign slogan, and when applied to NPR it means that the public, not shareholders, own us. Our mission is to create a more informed public, and make our work as widely available as possible. That mission not only influences our journalism, but the code that we write.

How has your time at NPR influenced your perspective on web development?

I’m fortunate to work on a team that believes in open-source software development, and freely sharing what we know. The code we write has been used nationally and internationally to tell stories of protest, war, and the fight for freedom. The ethos and work of the open-source software community has been hugely beneficial to me over the course of my career, and my appreciation of it has only grown in my time at NPR. I hope my contributions have helped make the community stronger.

Some of the digital projects Wes has worked on at NPR include:

  • Project Argo – a reporting collaboration between 12 NPR member stations hosted on an open-source platform Wes helped build;
  • Life After Death – a digital story exploring the aftereffects of Ebola in the village of Barkedu in northern Liberia;
  • the award-winning documentary Lost and Found, which looks at the life of photographer Charles W. Cushman;
  • and (my favorite) an episode of NPR’s Planet Money podcast, titled Making a T-Shirt, which takes an in-depth look at the creation of a single t-shirt. The Planet Money web documentary was a collaborative effort between the visuals team and the podcast’s staff. In an explanation of the project, Wes described the teamwork, stating, Often in editorial settings, the design team is brought in after the story has been reported. I cannot emphasize enough how important it was to this project that the entire team was involved in this process from the beginning. Collective brainstorming sessions were crucial to forming a shared understanding of the story to be told. It allowed reporters to consider content that would lend itself well to a web-native experience while they were in the field, and allowed the design team to begin to consider the presentation of the story, even as we were working on other projects.

Outside of NPR’s work, what is your favorite website or digital story project out there right now? 

I discovered Robin Sloan’s app, Fish: a tap essay, at a time in which I was reflecting a lot on the kind of work and storytelling I wanted to do online. In the essay, Sloan asks us to think about the difference between liking something on the internet and loving something on the internet. Sloan’s thoughts about stock and flow, and the need for durable stories that stand out from the constant stream of news has had a huge influence on me. I continue to think about how to apply the principle of stock and flow to my work and my life on a regular basis.

What advice do you have for someone like me who is just beginning to learn how to code?

I think there’s a false belief by folks that are just starting out that experienced programmers write all their own code by hand. This belief is reinforced by bad hiring practices, and it’s simply wrong. Experienced programmers look up code snippets on the internet all the time. Taking an existing piece of code, dissecting it, trying to understand why it was written the way it was, and then adapting that code for your own use is the best way to learn. Bonus points if you write about what you learned, and share that with the community to pay it forward. 

Like our class, Wes uses GitHub as a platform, and you can find samples of his code there, as well as work from the NPR Visuals team.