Author Archives: Cory Dawson

Data reporting

This class was very difficult for me, but I’m so glad I learned what I learned. I really benefited from the open-ended, pick-your-brain type discussions where we explored the possibilities of different web development strategies. Those types of discussions are what let me to sign up for Data Reporting this summer.

I’m excited to use what I’ve learned in this class to augment what I’ll be doing in that class. I’d like to leave the class with a good understanding of how to use publicly available APIs to get a jump on story ideas and to look at patterns.

I’d like to slowly but surely delve into adding more features to my website and, in some instances, just as a way to showcase web items I’ve built. I’ve seen great sites that have beautiful, flowing photo portfolios, interesting notification tools for updates to news stories and more. The focus here for me will have to be staying interested and treating this like learning a new instrument.

I felt that I was most comfortable with CSS, but I do feel (at least) conversational with the rest of the languages we’ve learned. I’m certainly interested in learning more through the Codecademy lessons now that they’ve added PHP as well.

Anyways, thanks so much everyone for learning with me, and thanks to Greg for being an awesome teacher!


The little things

I’ve actually really liked the feedback process here. It’s very collaborative and helpful to get the perspective of others who are on my level to get an idea of what they are seeing and what I’m not. I also liked giving the feedback — it was comforting knowing everyone else was having problems similar to mine and I enjoyed helping others get through those problems.

I’ve been trying to button up the little things on my site, including this little dropdown arrow that Greg pointed out, doesn’t appear when the menu is activated. Spoiler alert: I haven’t figured it out yet.

From what I’ve been able to tell, the menu is using a state-based CSS indicator (not sure if that’s the right word) that is hated online. I’m able to manipulate the element by calling the class and adding a box (that’s one piece of customization I did), but I have no idea how to access it when the menu is expanded. I eventually just put a post on a forum for the site and am waiting for a response from the folks who know better!

I’m still thinking of ways to improve the site — I embedded my resume in order to keep people on the site, per Greg’s suggestion, and I’m playing around with more styling like typefaces and getting rid of the bold for hyperlinks.

Crawling past the finish line

I don’t have a great feeling of accomplishment with my website, unfortunately. I don’t believe I’ve been able to complete the amount of customization required — I’ve customized the look of the site with CSS to a good extent, and I’m happy with the look. I think it’s clean and functional. Good design, I think, is both pretty and practical. I think I’m able to call the eye’s attention where it needs to go.

However, I simply wasn’t able to figure out where and how to add more functionality that would be useful without pretty much just following along and building a simple plugin from a YouTube video — I did add a couple simple customizations to the functions.php file.

I expected to have a lot more time than I ended up having. The migration from a locally hosted site to the live site was painful, as I was stuck in recurring errors when trying to activate a child theme. In the dashboard, my child theme wasn’t recognizing the parent theme — even though I had the parent theme installed. It was suggested the metadata included in the styles.css file was wrong, and that I could just replace the wp-content folder via FTP. Both solutions failed me, and replacing the wp-content folder took the good part of an afternoon to load.

I’m going to keep going and add more customizations when I have free time later this week. I do feel accomplished in the sense that I feel I’m able to use the site now as my portfolio site. My site is

Learning and re-learning

I’m officially at the “just keep going” stage of a big project like this. It’s been hard (but getting a bit easier as it goes on) to compartmentalize the project in my head. I am a very linear and visual thinker, and things like recipes, instruction manuals, building projects come easily to me, and I’m consistently underestimating how long each step is taking me.

Little problems with the mechanics of my plugins are popping up every now and again, and the fixes almost always come from finding somebody online who have made some similar mistake and reading up on how they’ve fixed it. This is a workflow that I’m still getting used to. The real anxiety comes when I feel like I’ve followed instructions to a T and something just doesn’t work…ugh.

On the other hand, I’m having a fantastic time pushing my styling. I’ve done some sketches and designs for the overall feel, and even if it doesn’t come together exactly how I envision, I’ll be happy because at least I had a direction. I know enough about myself that I can be successful when I create as I go, but having an end vision especially when talking about design language is a more surefire bet.

Overall, I’m feeling tentatively optimistic, I’m looking forward to workshopping and in the end, actually having a working website that I can say I put together pretty much fully myself. Although I’ll take as much time to do it as I can get!

Setting up for success

Much of my weekend was spent getting the pieces together to be sure my site will come together well. I’ve been going back through old stories, pulling together photos and videos, and making sure the relevant metadata comes with the content (things like dates and captions).

I’ve been rediscovering WordPress too — the plethora of themes, plugins and possibilities are exciting. It’s getting me geared up to do my own site, yes, but think about how these tools could be useful in the professional world too. Many nonprofits I’ve worked at need help with this sort of thing!

This is all to say I don’t feel overwhelmed with all the tools and technologies we’re trying to pull together to actually make this thing — FileZilla, WordPress, GitHub, Sublime Text, MAMP…the list goes on! But of course, my biggest anxiety comes from actually building these plugins. I’m constantly worried that whatever I start to build and enter granular commits for will end up not working in the end.

I feel fortunate I have some friends who have web development experience I can bounce ideas off of and take advice from. And that my classmates seem to be going through the same anxieties!

All about APIs

I had always heard this term “API,” and I think I knew just two things about it — it’s everywhere, and it’s powerful. After going through the readings and videos, I’m clearer on the actual technology, but still unsure of how I would use it in my site or in my reporting.

I’m also left with questions about security and ethics. In the WebConcepts video, the presenter said that in order to send a tweet through the Twitter API, you need to authenticate and get what’s called an “access token.” But I couldn’t see where he actually provided his login information in order to authenticate. I’m also wondering if this method circumvents any type of two-factor authentication.

I’m also wondering what companies get out of making all of this data public? This seems like a wealth of internal, constantly updating and valuable information that other companies can easily use to make their own products more valuable.

Conversely, having access to so much data and so much proprietary data is It’s also clearly a way to snuff out the competition. I read further about how Facebook has actually used access to their API to snuff out competitive companies by revoking their access. Revoking access to Facebook’s API means that whatever company is trying to use Facebook to create a user profile (these are the “Login with Facebook” or “Login with Google” buttons that allow you to basically autofill a profile with information you’ve already given to these two companies) is a real hindrance. Who wants to actually fill all that crap out?!


Pitch for a new profile site

What: The site will be an updated version of my current profile site (which is live at I plan to make it more streamlined, add more content and particularly try to show off my news photography.
Who: The audience will likely be potential employers and anybody who’s interested in my work. It will include my work experience and ways to get in contact with me.
Why: Having a site like this is very important for anybody working in journalism, media, art, etc. — basically for anybody who creates things for a living. It’s also now a chance to show people what you can do to promote yourself. Being able to say that the website was built by you is also a huge plus.
Update 3/31/2019
Planned modifications:
1. A photo slideshow of some of my favorite news photography I’ve done. Would like to hyperlink each photo to the relevant underlying article.
2. A similar video slideshow of some of my favorite news videography.
3. A contact form on a dedicated page (I’ve already built the skeleton of one on my “hello world” page).
4. A PHP search bar (EDIT 4/2/2019 — Removed the add Twitter feed customization per Greg’s instructions )
5. A child theme so I can style the site with custom colors and typefaces (I don’t like the standard typefaces, I prefer Google’s OpenSans as a body typeface).
6. A dedicated page describing how to securely contacting me with several options, similar to what several news organizations already do. I would like to set up SecureDrop so that sources can send me documents safely. I would also like to set up a PGP fingerprint and public key so that I can securely converse with sources. 
Update 4/7/2019

Plan for code customization and timeline for code customization

  • Contact Form Plugin:
      • What: A contact form that enables people to send me an email with their name, a subject line, body, and a checkbox that enables rapid-reply. I found a way to get a text message through PHP so I want to be able to give people the option of basically texting me through this form, as I could see some of these requests possibly being urgent.
      • Why: Need to have a way for people to get in touch with me, from possible sources to employers to collaborators.
      • How: Research past successful contact forms. Build it out in PHP and HTML, style in CSS. Keep to the timeline!
      • Timeline:
        • Research: 4/9
        • Pseudo-code: 4/11
        • Writing code: 4/13
        • Testing locally: 4/15
        • Debugging: 4/17
        • Deploying: 4/18
        • Testing live:4/18
  • Published article plugin:
      • What: A plugin that will be able to create a post within a specific page (pages with the name of an outlet I’ve worked at). The posts are of articles I’ve published. The post provides metaboxes for a headline, first few paragraphs, date, a clickthrough to the full article on the publication website, the page and a photo.
      • Why: I want an easy way to add a new article to the profile site in the correct page with a quick way to get a sense of the article and to click through to the full article on the publication website.
      • How: Research how to create a plugin like this, possibly using the ‘reading list’ plugin we used as an example. The plugin will be created in HTML, CSS and PHP. Keep to the timeline!
      • Timeline:
        • Research: 4/9
        • Pseudo-code: 4/11
        • Writing code: 4/13
        • Testing locally: 4/15
        • Debugging: 4/17
        • Deploying: 4/18
        • Testing live:4/18
  • Child Theme:
    • What: Customizing the site to look sleek but easily accessible for my targeted users. Will have a homepage with an introduction, a contact page, and separate pages for each outlet I’ve produced content at.
    • Why: Formatting the site for my targeted users which who are primarily potential employers, sources and readers is important because I want those users to be able to easily use the website as a showcase.
    • How: Research some similar profile sites to get an idea of the design language I’m looking for. Sketch some layout ideas by hand. Take down names of typefaces I like to use in the site. Perhaps use Bootstrap to simplify the CSS. Edit the stylesheet.
    • Timeline:
      • Research: 4/9
      • Pseudo-code: 4/11
      • Writing code: 4/13
      • Testing locally: 4/15
      • Debugging: 4/17
      • Deploying: 4/18
      • Testing live:4/18

Learning PHP and more

Getting an introduction to PHP was different, as we were both not using Codecademy, and also have the benefit of already having a JavaScript background. Being familiar with the terminology was supremely helpful, and in many ways, I preferred the simplicity of PHP. It seems that everything I need to do uses fewer characters than in JavaScript. 

However, learning on the forced me to go a little bit slower. There were terms and references I didn’t understand from the get-go, which turned out to be a blessing because it led me to further research. The site initially referred to PHP, Python, Ruby etc. as “MVC based web frameworks,” which I had to look up. I still don’t quite understand how the framework operates — MVC stands for Model-View-Controller — but I was able to understand in concept that the “model” is essentially the underlying information of a webpage, and the “view” is the UI (User Interface). The controller is the logic and another actionable language that interacts between the model and the view.

Another concept that I ran into and didn’t understand was the idea of “zero-based indices.” Research revealed that this concept simply means that any initial element of a sequence starts at zero instead of one. The concept is common among programming languages. The lesson also referenced Perl, which I had not heard of but quickly found out was just another programming language.

For my profile, I talked with Ryan Schneiderman who is an up-and-coming web developer who recently hand-coded a website for his father, a prominent photographer. He used several technologies that I had little prior exposure to but found very interesting. He used a Python-based web framework called Django (which is an MVC-model!) to build the site, and hosted the data-rich images on Amazon Web Services.

Because the site was very image-heavy and used a lot of sliders, he used a method to allow the page to load all the images in a slider first so that the site didn’t need to load a large image whenever a user moved to the next slide.

Schneiderman, who is a high school basketball coach, is also developing a web and mobile application for coaches to plan and design plays.

WordPress and making stuff (sort-of) work in PHP

The work we did in WordPress during class last week was very informative and I’m glad we’ve learned about child themes and plugins. I’m excited to try and create my own plugin now. Sometimes this stuff seems like magic. I was blown away at how, by simply adding a couple folders and files, a new plugin just appeared.

When getting to the PHP assignment, I felt ill-equipped, frankly. Coming off of spring break, after having just a couple weeks of lessons I had to revisit a lot of material. I used plenty of YouTube videos, forums and such to help out, but I felt like I was making small mistakes along the way.

I realized I still have fundamental questions that need answering. How does the computer understand my functions? Should my PHP files be on a server for them to work correctly? Why is it that in Sublime Text, what I know to be accurate PHP functions don’t show up in a colored text? That last one caused me a lot of anxiety!

I also didn’t know what else to add to my homepage in PHP to add useful functionality, so I resorted to just adding basic things that would (I hope) satisfy the requirements of the assignment. The only thing I added that I could see myself keeping in a final version is a contact submit form.

Command line

Using the command line is a very pure way to just…talk to your computer. It feels very much like a conversation. You type in “man” and the computer asks what you want to learn about. You make a mistake and the computer says the command wasn’t found. It’s an immediate feedback loop that’s very distinct from what we’re doing in Sublime Text. It’s a bit scary how direct and raw the possibilities are. After a brief bit of googling I found that if you type in sudo and just five extra characters, you can wipe your entire drive.

A point made in the “Your new friend: Command Line” struck me — original computers looked a lot like the command line window. I remember seeing the MS-DOS operating system on some of my parent’s old computers. That was definitely the last time I saw or used a computer that didn’t utilize a window and pointer-based UI.

I could see how, if you were so inclined to learn all the commands, using the command line would end up being a quicker and more efficient way to use a computer in some respects.