Tag Archives: week9

Reflection of midterm and agile

For this past week’s overview, I put most of my focus working on my midterm with a web developer. Overall, the experience was interesting. I was probably a bit too shy and awkward initially since I was the one leading the conversation and was not really sure where to start the conversation. It was reassuring to go over the rest of the class’s midterms with their own developers as well. It ended up going well and, despite my initial kind of confusion, I felt reassured afterward that it was not necessarily just me feeling lost. It is common for everyone, but sometimes I just think that my natural thought process does not function in a natural web developer process, so I have to check myself before I start a task and plan things out more efficiently.

As for last week’s discussion with Laura while she was substituting, we definitely covered the agile manifesto and the sort of chain of command that takes place in different work environments that web developers are a part of. While some are more beneficial than others depending on the workload, number of participants in a group and so forth, it was interesting to see such how there are many distinct structures in the work environment taking place.

Circling back to my web developer profile for the midterm, I was not surprised at all to learn that Emmett Jacobs had come from a deep-seeded interest in computers and technology. This kind of lead me to believe that yeah, this is something that I would be too late to take an interest in and such. However, after we went over everyone else’s midterms in class I was surprised to learn that a couple our our classmates had talked to people who still didn’t consider themselves “real” web developers due to their late start.

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.

So Many Different Things Learned

We discussed in class why some of us had problems opening the file we created for homework last week. We needed to make sure that the PHP is opened in the server not in the browser. We also discussed the agile development process and the concept of waterfall. The concept lies in the idea that different teams work together at different stages and the work flows between the channels. However, there were many issues with that methodology. The agile manifesto came about to solve the problem occurring in the waterfall methodology. They created a  way of how software should be developed. The most efficient and effective method of sharing information and development of a team is face-to-face conversation. This goes against the new trend of tele-work and how agile does not work within that trend.

The double diamond concept of design was also discussed in class. Usually we look at the first problem then get solutions, but we should look at both diamonds and look at every angle before coming up with solutions. When we work on one thing, we delve deep into it and forget to look at the overall macro level of the project.

I finalized my developer profile. I enjoyed working on mine and getting to know a person in the web development field. I also learned that you can start and get yourself into this field whenever and it is never too late. It is also important to try something out before assuming you will not enjoy it or be good at it. In the case of my developer, he had no idea he would be interested in software development and after taking a random course, he realized that it is where his passion lies and what he wants to do in his life. I also got the chance to read other profiles and learn more about other developers. 

The tutorial about command line was descriptive. Programs are made up of layers which result in the final nice looking version. It is a very cool way of handling things and documents on your computer. You give your computer demands, which are passed on to the computer system to run. We can navigate through our computer the way we use Finder on Mac. We should always be careful of any commands we can give because we could mess up our computer system or wipe it out with one simple command. 

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.

Let’s learn something new

As for the work for web development class, this week concentrated on finishing up the midterm. I decided to interview Grzegorz Trzmiel, currently working as a developer at IBM. Even though I had to turn my notes and the recording into a post, I believe the traditional format of an interview definitely had its perks. Certainly, a good interview is the foundation of quality reporting – a skill, especially needed in my field of work. Such conversation is the best way of understanding a complex idea and seeing it from someone else’s perspective.

The interview provided me with the opportunity to investigate the concept of programming in a more in-depth way, compared to what I learn in class every week. I was able to discover how an actual professional thinks and feels about the programming skills needed in a real world and why he holds certain opinions. What was also interesting was that I could explore the use, effectiveness, and usefulness of programming skills I’m currently developing. As it turned out, one of the disadvantages of conducting an interview is that it is very time-consuming. Unfortunately, it consists of many stages; such as research, setting up a time that works for both parties, an actual interview, transcribing and drawing the final conclusions.

In general, the interview wasn’t as scary as I thought it would be. I did my research, was prepared and at the end wrote a great post (while, of course, respecting the interviewee’s privacy while not mentioning some of the names of Grzegorz’s previous employers). If you’re interested in seeing how well I did on my midterm, I invite you to read my post from yesterday 😉

Man’s Best Friend

This past week, I polished up my midterm developer profile and submitted it for the class to read. I got the opportunity to interview John and his words truly inspired me to keep expanding my knowledge with different languages and technologies. Throughout the semester there have been times when I have gotten extremely frustrated with the material, but the interview basically reinforced that the world of web development can be challenging, but it’s worth it for people that like to constantly be learning something new. I guess it is very possible for a computer to be another “man’s best friend” especially because of how much technology is growing in our society.

Speaking of man’s best friend, this week’s assignment in a sense showed me another way that man is able to communicate with a computer. Instead of using a mouse to initiate thoughts and actions, we are able to talk to our computer through a command line! From the command line reading, I didn’t quite understand why people would use the command line for any reason other than pure boredom since the reading mostly showed the ‘how.’ I remember messing with the command line when I was in high school for silly little commands. However, I came across an interesting article that shared that people use a command line as a resource to perform tasks quicker and it can be much easier to automate and do remotely. In my opinion, the command line sounds exhausting since it seems like it requires memorization of dozens of different commands. A cool trick I found for command line is renaming 100+ files much faster (less than a minute) from a single command! It is really cool to see many tools on a computer or through languages that simplify a developers ability to do tasks. Developers are not only at times lazy, but they are also have a pretty good best friend a.k.a computers.

 

 

Command Line: The hacker’s screen!

I have seen the black screen umpteen times in movies and several advertisements online. The dark-backgrounded text interface often depicts some computer geek doing something that seems serious. I had no idea of the existence of the command line on my computer, let alone know about what it does and the power it has in controlling my computer.

The video from Coding is for girls at the top of the reading is beyond impressive. Her onion layers illustration (hardware, operating system, applications and the user) was spot on. I tried following the prompts and instructions on creating directories and deleting them from the cmd and that frankly made me feel a little powerful. I guess I have always thought hackers are powerful, or maybe not. The whole experience was new to me, but equally exciting. The part I didn’t quite get was why do I still see the practice and test folders on my desktop after giving a command to remove them.

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

Learning the Command Line

We’ve covered a lot of ground in the past week—from remembering (maybe) PHP, to diving into WordPress child themes, to being introduced to Command Line operations. I’m excited to put all the pieces together in our final projects, and have found myself thinking more like a developer in my daily work life. For example, yesterday I wondered if I could code something that would update a broad communications calendar based on the date of the annual event. I’ve also become more conscious of using copy+paste to reduce errors and documenting granular changes that have been made to projects with multiple stakeholders.

Learning the command line

I was first introduced to command line functions in SCS’s Data Journalism class, which introduced basic commands to illustrate points about how the language is constructed and what functions that are possible within that scary-looking terminal you’ve never tried to use before. Some of the language functions also reappeared in other databases like MySQL. This week’s reading was a good reminder of what can be done (essentially, everything that you can do using Finder), but also about how foreign it feels to use.

One new piece of information I found interesting was the man command, which gives you additional context about the command you’re referencing. I predict this will become a super useful tool while learning about and using the terminal in the future.

Another helpful tool referenced in the reading, https://ss64.com, contains a complete reference of commands for all operating systems.

To be honest, though… 

While I can see the utility in understanding how to use the terminal, and the command language it accepts, I don’t see myself changing my behavior to use it over the finder window. For some reason, I especially find the idea of deleting something from the terminal distressing—it just feels less tangible than clicking on the file/folder and deleting it.

I can’t wait to be proven wrong.

Not turning out as expected…

So, one of our tasks this week was to add our final project site from local hosting, just unique to our computer, but to outside hosting, so that everyone could access it. This has been an uphill battle for me, I think partially because I never fully grasped the concept of hosting and multiple servers. So, it was not something I knew how to do, and I also did not know enough to ask the right questions, because I struggled a bit with the terminology. Thankfully both Jess and Prof. Greg were able to recognize my struggling and help to walk me through how to set up my hosting so that I could share my wonderful site with the world. Outside of having difficulty with hosting, I also had difficulty with a few other things with my site. My beloved child theme did not turn out exactly like I hoped. I thought I chose a parent theme that had a template which allotted for lots of space for color and photos, but I actually picked one that is kind of bland and reminds me of a retirement home, which most definitely isn’t the vision I have for my final site. Currently I am trying to do some tweaks in the code, but not too many because I do not want to break the theme. But I do want to make it more reflective of my personality.  I am also trying to remember what was the name of the ‘Book List’ Prof. Greg told us about in class, I would like to create one as a modification to my site. I have googled almost every ‘name + book list’ combination and have not had much luck. Speaking of modifications, if anyone has a modification suggestion they think would work for my site or a child theme I should adopt, I am open to any and all suggestions.