Category Archives: 2013 Summer class

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!”

Rethinking – Design Thinking!

Apart from the WordPress documentation and the customizing features — from the header  media, to adding still images and videos to the the front pages of a website, color customization, among other creative features — the instructions seem fairly straight forward.  I was, however, wondering how incorporating the programming languages like HTML, CSS, PHP, JavaScript, jQuery etc will be — maybe I am just overthinking it.

The traveler with the stone soup!

The most interesting read was from the piece on design thinking and how a mere change of an old concept could alter public perception of it. The “traveler with the stone soup” allegory was brilliant and precise in helping to demystify the somewhat esoteric view of “design thinking.” Frankly, I fall within the ranks of the many who viewed design as an after thought and not a solution mechanism as the writer intelligently opined.

I didn’t quite understand the codes on GitHub part, I tried checking the content of a few of them and the skipped to the next readings. The agile best practices link went straight to the Plural Sight website. I’m not sure if that is the right page, so I googled the Agile best practice video on YouTube. The principles behind the Agile manifesto and their desire to employ the best practices promote the best relationship between the human experience and software, is admirable.

“Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan”

After all, programmers do care about the impact and member experience of their clients, contrary to the general perception.

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.

The Final Step

What a rollercoaster of a class. I went from being completely misunderstood from the first day, to at least being able to make some sense of the things I was coding. Web Development introduced me to a world of knowledge that I didn’t even knew existed. I was learning things I never expected to learn, in a much different capacity than anything I’ve ever experienced. The idea of developing a website that would highlight my self seemed like something that would have impossible to achieve. However, with a bit of help as well as figuring things on my own no matter the circumstance helped me to produce something I am proud of.

While I have now caught the bit of a bug that is coding, I could see myself being interested in exploring python. It is interesting to uncover different types of coding measures that could be used for any number of things. I think the best part about this class was to understand the practical meaning of the code we would be using in any given event. To understand what I was coding made a significant improvement on my ability to understand what it was I was typing in Sublime.

I appreciate this class for challenging me and for the knowledge I have gained from this class. A lot of credit goes to my professor and his manner of teaching the class. I hope I can take the things I’ve learned from this class and hopefully use it for something in my benefit for the near future. To be able to have some experience with coding in this class will gratefully benefit me when it comes to speaking about or even working with similar technology in the near future. I hope to continue my learning of this skill and perfect it in a way that it may benefit or advance my legal career. Thank you.

Reflection Part II

This class has been really interesting for me–some serious highs and lows. I found Codecademy (except for the JavaScript section!) extremely useful. It made things simple, and I appreciated having something specific to refer to when I was embarking on my own projects and other assignments.

Overall, I enjoyed working on my project. I just wish I had more time—just to putz on it and see what works and what doesn’t. Actually, I can see myself fiddling with it over my vacation, because I’d love to have it more finished and to display it on my website along with my portfolio. Of course, that means I’d have to figure out some way to continue hosting it. I want to be able to use this—or a similar format—to tell other visual stories. I think it’d be a great way to showcase any sort of group of individuals. (I’d love to do a thing that showcased each of the tradesmen at Colonial Williamsburg. They’re really pretty. And interesting.)

If I were to reflect on the whole class, I’d say I’m just so glad to know the vernacular of this business. I feel like I can actually talk about it. I had to sit down with this girl the other day to start work on a blog via Google Sites, and I was able to solve problems she had come across, or at least I knew what to look up later.

I definitely need to focus more on the details and how each tiny element relates to each other tiny element. I need to learn to be more patient with it—along with having more time! I will be curious to see how the data visualization class links with this one. And I look forward to be able to continuing to immerse myself in these new languages. I don’t want to lose what I’ve learned.

May Not Want To Do This Again

So this process is still going and I’m not a fan. I’m still in the process of simplifying the page and giving it that professional and clean look. It is also very tempting, and I often fall into this temptation, of doing a lot of the edits directly on WordPress. It’s easier than jumping back and forth to do the simple things like changing the font or doing quick simple fixes.

However, I’m very sore I will not become a web developer or do this for fun. After fighting with FTP and trying to get WordPress into my GoDaddy, I’m very over it. I’m not a fan. I really don’t think I will do this from the developer side again. On the other hand it is nice knowing I can. It is rewarding going into Sublime and being able to do things, or looking at the ridiculously complicated code and sifting through to the place I need to edit. That’s cool.

What is not is trying to figure out how to make this PHP code work. I’ve been fighting with it for ages and I’m not sure how much longer I can before giving up. I barely got the code to work when we added the few lines to our web pages so I doubt I will actually make it work. I have looked through a few plugins and I’m choosing among a few. I might just use one and stop stressing myself out.

Again, I am not a fan of this process. When this is done, I’m sure I’ll be very proud of myself and happy I did it, but it will be a very long time before I CHOOSE to do this again. I jokingly told my friend that if I ever did this for anybody, that is how they would know our friendship is solid.

Plans for Domination Etc

URL:  www.mollyhunterkorroch.com (Although there will probably be some sort of /historyofhoney sort thing added.)

Description:  A visual story on the process of making mead.

Goals:

  • To learn how to tell a story in this way. I’m very interested in pursuing other visually stimulating story topics that can be told in this manner.
  • Explain how mead is made in the most aesthetically pleasing manner possible
  • Easy to use and understand

Audience: People who are curious, foodies, anyone who enjoys aesthetically pleasing things

Process:

  • Make and edit still photos and “Cinemagraphs”
  • Research and write story
  • Create “slideshow” using jQuery– a prettier one than the test project. I realize the issues will be creating a slideshow of automatically playing mp4 files. I’ve found ways to do this via jQuery plugins.
  • Use CSS and HTML to upload and style the text overlaying the slideshow

Functions:

  • The slideshow–I’m hoping for a vertical slideshow, but we’ll see what I can finagle
  • Start and stop video motion. (Although hopefully it’ll run on a loop and you can’t tell when it begins and ends. Again, this may be a high hope.)
  • Fade in of text
  • Possible sound behind the still pictures (but, I’m going to film all this later this week and it depends if I found cool clean sounds.)
  • Also hoping to implement some responsive design elements–again it will depend on the video situation

Theme:

  • I will probably end up using the WordPress Twentyseventeen theme, because it’s the most simple.
  • I won’t have the infinite scroll
  • Most likely, I will be dismantling many of the aspects and just keeping it like a simple webpage–a file under my main website that can be visited and cross-posted onto social media, etc.

Interview With Web Developer Andres Spagarino by Rob Snyder

Andres Spagarino has been a web developer for over a decade. He currently works for California Center for Sustainable Energy in San Diego California, where he provides online solutions for meeting the needs of the non-profit company. Andres has a deep appreciation for open source solutions and the open source community. He believes that it is a great way to collaborate with other people and re-use some of the development efforts for the good of the community.

My wife worked with Andres for two years while we were stationed in California, and she introduced us this evening over e-mail. I sent him a few general questions to get a web developer’s perspective on my own areas of interest on the subject.

What is your favorite site online today?

I am a little green/solar-geek, so I like http://www.renewableenergyworld.com and treehugger.com. My favorite part is not too much the design aspect but rather the content and functionalities (mobile ready, smart newsletters, etc).

How are you inspired by other web developers, and how does that show in your work?

I admire open-source solutions and the community behind it, I have used heavily a CMS open source called Joomla and we just recently switched to Drupal, we also are very involved with a CRM open-source called CiviCRM… I do get actually inspired by a few developers in these community since they are willing to help other developers like me in their spare time… In my work I am a strong advocate for open source solutions and I use them whenever possible and try to support them by contributing (both by donations and development support).

Where do you see yourself in 5 or 10 years, as web development and web design continue to evolve?

I believe the online media is shifting from computer base to mobile/cloud storage base. My challenge in the next 5-10 years is to keep myself ahead of the curve in implementing new technologies. I believe that I will always be in the open source development environment and that soon corporations will be moving into this format… many companies are already doing so.  For example our local utility company is using open source Drupal, the next generation of mobile devices and seamless data integration will be a lot easier when we will use open-source and not proprietary software… I believe this technology evolution is happening right now.

What advice would you give to a new web developer today?

Get involved into any project that you are interested and use the community to not only master your skills but also to give back by helping other developers. This is a great way to learn, network, and stay updated with whatever software you get involved.