Author Archives: Christopher Price

using the server, domain for future projects

I think this was a really good class for me to take. It allowed me to understand what was possible in addition to fairly judging my limits so far. I think the final class was probably the most beneficial for me because it was both corrective and eye opening.

With my current job, we do a ton of planning and scheduling for interviews and whatnot, but most of our work is done by one or two people in a couple sittings. When I said “eye opening,” I mean it was good to hear from a programmer who was previously working directly in journalism/WaPo because I felt like the logic behind completing assignments in one and the other are completely different.

Most of the work is solitary or with perhaps one other person filling in background information. Whereas in coding, it’s several people building the same final project. I think putting me in the position where I have to dedicate a ton of sittings to one project and work with a number of different people was the most “out of my element” part.

Going off of that tangent, the most immediate “what’s next” change for me would be applying some of those same practices for successful coding projects to my own work. Dedicating more sittings to assignments and asking for more eyes on work rather than just a copy desk and one other person.

As for code-driven plans, I still want to extend my domain into the following year and use it as a host for a short project. It’s not too much of a weighty endeavor, but it also wouldn’t be brief. (I mentioned it in class, but I want to make about 5 different avatars in Pokemon Game Boy fashion and draw boundaries and obstacles for around two levels.

I still have the server on my computer and I want to write out the HTML designs for the unique characters on the test site. It’s something I’d like to add to my resume. Although it’s not necessarily advanced enough to land a job at Sony or Nintendo, it’s still neat to show you have practical knowledge of different fields. I’ll also build off of it, depending on how well it looks after the first couple stages.

last touches

I greatly appreciate all of the helpful comments from the rest of the class. This website is turning out a lot better than I thought it could be due to everyone’s assistance, both aesthetically and ease of navigation wise.

I’ll definitely continue using the site after the class, adding a few plugins to deal with potential spam filtering for comment/suggestion box (as Cory noted).

A major haul I’d also consider doing (granted I have more content to work with) would be adding a footer section at the bottom of each page. It feels a bit empty there now. Apart from the 404 page and contact page, I wasn’t entirely sure I had the chops yet to go too deep into more than the roughly 10 pages I already have.

I think having the chat box would also be a pseudo addition looking back. Practically speaking, it would likely just gather a ton of spam and I would only realistically need it to answer (with keywords) about 10-20 questions in total before encouraging users to answer multiple choice boxes (to filter questions). I’d still like to know how to do that, but for the course of this website, although it was an interesting idea at first.. it seems to be a bit superfluous (as some of my classmates suggested).

working on plugins and replacing

I spent the weekend working on my final project, and I’ve still got quite a bit to do.

I have to add a 404 page, finish styling the individual pages and making adjustments to the 4ish plugins I already have. I plan on replacing the chatbox one with one I build myself if that’s possible. And I will likely add a static shopping cart at the top right of the site’s homepage and following pages for users to book repair/purchase items.

I originally had a slider on each unique page and I took it out when transitioning from the local host to the live site. Starting to regret that, as it did offer some individuality. I think building an auto slider would be good for the site (technically it would be be eight — one for each main Acoustic/Electric page and another 6 for each page, along with unique corresponding content). I reviewed pages that carry a similar vibe I’m looking for (elderly.com and reverb.com, for instance), and they take advantage of sliders. I may also add a footer with helpful direct links to other pages.

Finishing up

This week and last week I’ve been doing a lot of reorganizing for my site. But I’ve been mapping out/writing pseudo-code offline due to login issues on the backend with my site. I remember having a similar issue before when our guest lecturer was in, and the problem was that I had two WordPress accounts and I believe I started writing the child theme code into the local host that wasn’t connected to the domain.

Regardless, I look forward to getting that issue addressed at the upcoming class and continuing with my work, as I hope to finish it by this weekend.

API, JSON

This week’s lesson into API and JSON took some digging to understand, but it was helpful to have analogies. Picturing an Application Programming Interface as a waiter in a restaurant that takes requests and tells a chef (or system) what the customer wants is interesting. I haven’t considered really how we use applications and devices to access databases and make requests, at least on the level of depth that I know now.

I am still working to understand both, but it’s definitely a lot less murky than before this week.

As for my final project, I’m still hashing out which three customizations I want to use, and I’m thinking ill just end up using all seven that I noted as possibilities in my updated post. I actually am also taking some of the photos for the galleries this week, and am excited to have the skeletons of everything placed on my website.

I still have to go back to I believe it was lesson / week seven (?) to relearn the shopping cart customization. My site is hopefully going to utilize both the PHP search option, short comment box and shopping cart as the primary user-interactive functionality.

I’ll also say that this class (and particularly this project) has gotten me more into the habit of checking the code behind websites I think are aesthetically pleasing, clean, user friendly and not too “busy.” I can bring a short list of possible customizations I’ve seen on other sites to class that I would want to explore whether they’d be doable for this project.

Profiles and commands

It was awesome diving into the command line again for this week’s assignment. It kinda puts the entirety of the computer’s capabilities into perspective, making it less ominous and strips away the “magic” aspect when it comes to performing actions like inquiries.

I think I’ll be a bit restrained when it comes to anything apart from creating directories through the command line, though. Considering the command line isn’t exactly idiot proof and I can accidentally delete my operating system, I’m trying to just stay with command practice on the tutorial rather than going to YouTube to see other possibilities.

I also liked reading other peoples’ profiles. From IBM developers to Facebook, it’s neat that the role is universal and the experts will always bring some value to literally any high-profile company. That can’t be said for most vocations, which are generally pigeonholed into one field.

For my developer profile, my staffer has written code for Facebook’s webpages. And while that may seem relatively mundane, it’s a lot more than for user accessibility and aesthetically pleasing purposes. With the social media behemoth’s overarching role in literally everything, from politics to sales to nonprofits, web development and design are more and more about ethics today than ever before. Cambridge Analytica, disinformation campaigns, etc. have put Facebook in the tough position of assigning its developers responsibilities that reach new limits. I love the relatively new function of “Related posts” automatically showing up under some posts from widely followed accounts, which are meant to serve as easily visible footnotes pointing to a credible source potentially countering the contents of the post without directly censuring it. That added tool is just one of the ways developers are sometimes a step ahead of news organizations when it comes to informing and educating the public. Very neat.

Midterm — Programming at Facebook

For my developer profile, I selected a programmer whose employer is the intersection of journalism, public relations and media — social networking behemoth Facebook, Inc.

Vincent Song’s aspirations for becoming an expert with computers started at a young age, and the seeds of interest were planted when he joined his middle school’s robotics team.

From a young age

His experience programming robots to complete simple commands eventually led to him trying his hand at other small projects, such as Android applications, in his early teenage years.

But it wasn’t until after he graduated from secondary school and started his computer science degree at the University of Maryland – College Park that he started learning about web development.

“I worked at an internship where one of the responsibilities included me modifying some of their webpages,” Song said of his initial internship experience at Facebook, Inc., in Mountain View, California. “I also created a small exit survey program for them as well.”

Song said he grew accustomed to using a number of tools on a daily basis, such as a text editor called “Atom,” which is an open source editor maintained by GitHub. He’s also used Python, PHP, .NET and Node JS for developing full stack web projects.

Facebook: A New World

The company “Facebook” is a household name, and its services — enjoyed by billions of people across the world — are easily accessible for all locations and usable for all ages because of the expertise and ingenuity of people like Song.

Web developers and programmers are needed within most private and government industries, from journalistic organizations to public relations companies and elected officials.

And with the advent of new technologies like the nascent “social media industry” with real estate on all of those grounds, Song and his teammates are both privileged and cursed with responsibilities that programmers don’t always have.

For instance, there is the user-friendly aspect of Facebook, which includes the basic caption and photo posting, along with video sharing. And there is Facebook for journalism companies and businesses, which tackles publishing, job listing creation, news sharing and aggregation and a number of other roles that bundles Craigslist, Penguin House, and the daily newspaper all into one package.

And Facebook for developers is an entirely new world.

There are a number of different tools that Song’s company has developed for outsiders wanting to use Facebook. There’s the API documentation resolver, which allows users to find documentation pages for any API request. There’s the object visibility debugger and general Facebook debugger, which allows users – generally news organizations – to manually scrape recently updated posts and pull new information linked from an outside source (news site) as quickly as possible.

There’s the app security checkup, which allows users to spot vulnerabilities in their own apps and edit their settings. This helpful function is undoubtedly pointed toward the nature of early coding’s open source nature, where developers as a competitive, yet ethical, community work together to improve the overall quality of their user’s experience.

And more recently, there’s the 3D validation tool, which validates 3D models to make sure .glb files can be shared on Facebook.

Although technology as a whole by its nature continues to build on itself, the company Facebook has structured itself with the unique capability of embracing nearly every aspect of its growth — from advertising and helping Tesla car’s marketing, to watching 3D videos, to livestreaming the president’s State of the Union address, to easily saving and storing pictures of the toddlers for extended family to see.

Vincent and Facebook

Song’s initial stint at Facebook, which included writing code for modifying webpages, could appear to be primarily for aesthetic or usability purposes. But ever since its birth and gradual hegemonic status since 2004, political elections, ethics and everything in between have prompted politicians and legal experts to home in on the minutest of details on its webpages.

From actively opening advertising space to differing political and social viewpoints, to countering disinformation campaigns, the company’s programming and web developing experts have embraced broad responsibilities that generally aren’t shared with most companies.

Stretching yourself

According to Song, the demands of broad expertise with Facebook’s ever-increasing responsibilities necessitates in equally malleable staffers.

“Learning different ‘languages’ and ‘tools and technologies’ is part of the job,” Song said, calling the skill of being flexible and ever-learning not only a positive trait, but an often misunderstood necessity in his profession.

“Sure, there are specialists, but any software engineer [worth] their salt can quickly pickup any language whenever they need to — depending on the requirements of the projects they’re working on.”

On the vein of stretching yourself, Song continued to say his own goal is to eventually lead an engineering team to build something that billions of people would use.

And when encouraging young, future programmers, he stressed the reality of both lofty and moderate ambitions starting with mastering the basics.

“HTML, CSS and JavaScript will never go away,” he said. “Focus on algorithms in college, and you’ll be able to get into almost any company or project you want! Don’t burn out, enjoy it, but also remember to live life!”

Design thinking

The principles behind the agile manifesto reminds me of a graphic design event I participated in last semester where a number of professionals (trained in the university and self-taught) shared their common experiences with clients and expectations. They essentially pointed to these as the three tentpoles for successful projects:

  • Clients and developers working daily throughout the process and communicating face-to-face as much as possible (As opposed to just the start and final moments)
  • Building projects around motivated individuals. Having an enthusiastic (and understanding) attitude when considering the necessary granular work for a project is going to keep most developers from quitting.
  • Working simply and building on working software in small steps while communicating clearly the short term goals that have been met along the way.

That same event was effective in demystifying the magical “in between” the start and finish of projects. Standing with the aforementioned tentpoles as a foundation and communicating what what has been done before, what’s possible and what we could “try,” in the most straightforward, logical way brings every difficult project into a better perspective.

It was also helpful to go through the qualities of the Twenty Seventeen theme. It’s also a great coincidence that we’re on the subject of adding autoplay video/audio to the front page of a website as MySpace recently experienced its massive loss of songs added (generally on the front page). Overall, I am excited to continue adding to my personal website.

I’m still trying to learn the merits of PHP working within HTML (and needing a server) as opposed to linking to a JavaScript document, and I believe I’ll have to go through the previous assignment with some assistance (which I wrote natively and added as one commit when I realized later it should have been multiple granular edits along the way).

Website theme development

This week’s readings on theme development and parent/child themes was good. In the past when I’ve used WordPress themes, they were usually the pre-made ones. I’m really interested in learning more for the most customization ability possible. (As for plugins, I’ve only dabbled in them in the past.)

Having the formats laid out in the post themes section was helpful. I already knew about galleries, quotes, images, video and link options. But the aside function is new to me from a programming/developer perspective. And within the suggested styling section of that same page, I actually think I found what I previously was curious about doing (per my final project idea rundown). It says a chat option is available. I wasn’t sure if this was the same style that customer service friendly pages have (with automated responses queued for simple questions and more specific questions sent directly to on-call staffers). But if it is, I’m definitely interested in pursuing this for added functionality.

I’ll also be revisiting some of I believe week 4’s lessons on scripting zoom-in function for images after the cursor hovers over them. And customizing my navigation bar is something I’m looking forward to, considering I’ve only been able to use the limited settings from pre-made themes in the past.

I also am grateful for the post types to be neatly arranged in the section on this topic. I have something to reference for my boiler plate, as opposed to pulling them together at the end and forgetting the other page options apart from the basic index.html, JavaScript and CSS pages. I know from the start to create a page for each and organize them accordingly.

And it’s finally time to write up my developer profile. I’ve already got the content from my interview and I can finish writing it this week. I was fortunate to have a great subject, who is currently employed with Facebook.

website – Musician’s Haven

What: I want to create an internationally respected musician’s hub that provides reliable information and reviews on instruments and other gear for beginners to professional performers.

Who: My audience would be musicians or aspiring musicians looking to purchase gear. It’s terribly easy to waste money on items that you either don’t need and waste time putting off things you do need. I’m hoping to have a few dedicated “contributors” which would serve as a middle ground between Reddit and Wikipedia where site visitors could get reliable information.

Why: I’ve spent a lot of money over the past 9 years since I started playing music. If I knew what to buy and what not to buy, I’d be alot better off. Similar to used cars, I think having a “go here, do this, don’t do that,” resource for newbies would result in fewer people purchasing lemons.

Code customization:

  • I will include a search bar with PHP
  • I will include a gallery at the top of the home page, and a different gallery on each page
  • I will create a “shopping cart” for bookmarking items with JavaScript
  • I’ll use CSS to style the pages
  • I will have an embedded 16:9 format video playing at the bottom of each page demoing some instruments (depending on what page it is)
  • ill create a search bar using PHP
  • I’ll embed a Twitter feed

—- More specs below—

Above the fold front page automatic slider (4-5 images) of different types of gear (acoustic guitar, bass, microphone set-up, etc.)

Below the fold two column review section (featuring an image of one instrument and a user’s highly rated review of the instrument)

Top right “shopping cart” that would essentially be the “bookmarked instruments” personalized and accessible from your login)

  • Home
  • Acoustics(guitars, bass)
  • Electrics(guitars, bass)
  • Other instruments(ukulele, cello, viola, violin, etc. etc.)
  • Vintage gear(includes every aforementioned category but only features higher quality and very expensive gear. Some will be repeat posts in this page)
  • Price guide

The review section would include the MSRP and the average selling price online (Ebay, for instance) to give the user an idea of how much they should reasonably pay for said instrument

Each page would have an above the fold slider with 8-9 images of instruments that in a traditional cms would be easily refreshed with newer content throughout the month.

As for more details on features, I’d have changing text overlaying the images on the sliders, along with neat button navigation that starts from the beginning. I don’t believe we went over this in class, but I want to know how to create an easily accessible pop-up comment/Leave a message feature. (screenshot attached). It would give users the ability to leave a comment about something they want more information on, whether it’s an instrument we’ve featured or one that we haven’t.