Author Archives: Faher Elfayez

Next!

My next step is a new project I want to work on. I want to create a site for our toolkit at work. The toolkit explains the steps our clients need  to take in order to livestream their events through our services. The website I want to create will have different pages that explain the process. Then I am going to create a form where the client submits their materials. This would include a box for the title of event, the description, livestream embed code, and the image. I want to be working on this for the next month. Our next series of events is in September, so I want to make sure I have it done and ready and tested before then.

Looking back at these past couple of months, I am very glad I took this class. It has allowed me to learn something I had zero knowledge of. I did not even know the different languages. The class exposed me to different resources like Codecademy where I can learn more on my own. I also learned a valuable skill, which is that the answer is always available somewhere and all you need to do is look. I, now, Google everything. Reddit is a huge resource for me and not just for coding questions, but any question I have. I look up news, resources, articles about food, fitness, etc. It is not easy to look things up. You need to know what key words to use and you can not use too many words in your search. You need to keep it simple and straightforward.

I want to learn C++ and use the resources I have to do so. C++ is also widely considered the language of choice when performance is needed. It is mature and can run anywhere. I did hear that it is a little risky and that it is preferred to use other higher level languages like PHP and Javascript in most business applications today. This is because they have managed memory that make them safer to code in. I feel like it would be interesting to learn or just pick one of the languages we learned, like JavaScript or HTML, and work more with it until I master it and become an expert at it. I do think this experience made me realize that web development is not the route for me. While it was a good learning experience and it added a lot of value to me and my work, I do not see myself doing web development as a career. I am happy that I have a basic knowledge of it now but that is about it.

 

Title X

Working on my final project has been interesting. I was able to work through most things and make sure I got the assignment done. Once I was done, I wanted to make the site live. I tried everything and I was able to do it. My local site was working normally, but when I tried to run the live site, my CSS was not showing. I think the issue is with my database but I can not figure out where exactly the problem is. Greg and I tried to work through it but still it was not working. I moved the files from local to the live on FileZilla but when I ran the site, still nothing was showing up. As a next step, Greg suggested I get a new domain and host. I got a new one and logged into the new site on FileZilla then I moved the files from the local to the live. When I tried to run my domain, nothing was showing up. I compared the two files (local and live) and they matched but on the browser it was not showing up. I am going to work on this a little more to try and run the file. I am not sure where things went wrong but I know that I mistakenly deleted the file and when retrieved it, something was messed up.

As I think about where we are right now, I feel very grateful to have taken this class. I am not sure if I am going to continue in this field of work. I might in the future, but for the time being I am happy I got exposed to such tremendous information. I am able to understand the basic codes on a minimal level and get around when it comes to inspecting a site or understanding web development.

I do not need to code things at my current job, but sometimes I need to update the website and need basic knowledge of the back end of the site. For example, I need to update the website with new information of an upcoming event. The site is made up in a way that I need to embed the image of the event into the body. I do so by sourcing the text and embedding the code of the image into the text. The body of the text is HTML and I need to know where to put the code. I was comfortable handling such task because of my experience from this class. I am excited of what the future has to bring no matter what next steps I take.

Pieces

This week I got to work a lot on my final assignment. I had a mini heart attack when I mistakenly deleted my htdoc folder and thought I lost everything. I was able to find it in the trash and restore it, but then my website stopped working. Then, when I got back on my desktop, I was able to restore it all. Thankfully.

I watched a lot of videos and tutorials. I read a lot of articles. I asked my friends many questions. I think what helped me the most was taking the time to absorb all the information. All the materials I found were very helpful and allowed me to articulate different ideas into the final project.

I am going to take the time on Tuesday during class to work through some other areas of my website and make it better.

I want to take some time and reflect on the process of developing my code. I started by wanting to customize a contact form plugin. That idea went out the window when I realized what WordPress already offers, so I decided to just use an already existing code. I, then, decided I am going to code a plugin for the services I offer. This plugin ran well, but I had an issue connecting the menu on the first page to the services plugin.

The second thing I was working with was a plugin that asks the user a question. The question is “what is your favorite social media platform to use?” the user would submit an answer to that. The final thing I did was a child’s theme to the Twenty Seventeen theme I choose. The child theme changed the font and the color of the main text. I inspected my website and made the changes there first then came back to my Sublime and made changes to the code.

I also added social media platforms and other codes into my website. I also changed the main theme’s image into a Georgetown one, which reflects a big part of who I am as a professional and a person.

Overall, this was a great exercise to work with WordPress because it is an extremely useful site. As I used it more and more, I got to learn a lot about it. It is SEO-friendly since it is written using standard compliance high-quality code, which I came to learn is loved by Google and other search engines.

More and more everyday

This past week, I worked a lot on one of my plugins. I wanted to make sure I have that done and ready so I am able to work on the other plugin and child theme. The “post types” page that Greg shared in class has been very helpful to me. There are a lot of different features that WordPress offers. I have been learning through trial and error, which has been helpful to figure out what works and what does not.  

While working on my final project and personal website, I wanted to add as many features as possible. One idea that I had was to add my LinkedIn feed to my website. It would pull in my posts on a regular basis. I wanted to start posting on LinkedIn on a daily basis, in which case it would show up on my website. I want to customize my daily posts on LinkedIn and include daily advice and tips on how to optimize social media content.

I want to create a strategy and a vision for my website. What am I trying to gain out of the website? Am I going to focus on conversion rate, brand awareness, business growth? Am I going to try to promote my business on social media platforms? I also need to modify my social media platforms to make it more professional or I could launch new ones that reflect my business and work. 

This week, I also want to reflect on how helpful this class has been the past three months. While I do not have a lot of deep knowledge of coding, the general knowledge that I have gained from the languages and my ability to somehow make sense of a code when I see one has been really helpful in my job. I am able to inspect pages and figure out where links go and where the information on the site goes. I am also able to to understand when people talk about embed codes and the back-end of a site. This has been helpful in carrying out conversation even if basic and I have been happy about that. When I started class in January I did not even know the different languages of coding and now I am much more knowledgable even if at a basic level.  I am not sure whether or not to continue the learning process, but maybe I will delve deeper into it in the future.

Press the Word

I spent this week trying to play around with WordPress. I realized that there are a lot of options available for us to use. There are a lot of existing code, theme, and plugin options that could be added to your WordPress site. There is also the option to code your own and create whatever design and functionality you want. Together, you can create the final full site you desire.

I went back to our readings about WordPress and reread the explanations of the various aspects and features. Through WordPress, you can build a website that meets your unique needs and help you build an online brand.

As I was exploring various customizations to add to my business website, I did a lot of research on how to become a top freelance consultant. I wanted to know how I could optimize my website as best as possible. I need a strategy and a vision directing my services. The first step in the strategy is picking a niche. The niche will reflect real expertise. My niche is doing digital communications in international development and governmental affairs. The second step is to set up a platform to attract clients to your business. The platform is, usually, a website. The website should include an explanation of the services, credentials and some testimonial to back that up.

The self-hosted WordPress site is great because you can have a cool domain name and you can customize it as much as you want with the thousands of plugins and themes available. You will also be in complete control of your site.

A personal website is a very important tool in building a business if positioned well. It shows customers and clients that you mean business. The website should be navigated easily. At the minimum, you should have an “about” page, a “blog” page, “services” page, “contact” page and the links to them displayed in the top navigation menu. Another important aspect of a personal/business website is linking the page to your social media pages. This helps build a real, relatable, trustworthy image of the person your clients are doing business for.

With that strategy in mind, I worked on developing my code customization for the website. I will add social media plugins to connect to my own platforms and make sure they reflect my brand. I want to add a contact me button on the front page that takes to a separate contact form page. I want to create a child a theme in the first page with “about,” “services,” “contact me,” and “testimonials,” with a hovering functionality, and once clicked, it will take us to the designated page.

Debating a change

During class this week, we discussed our midterm profiles We talked about Django, which is a high-level Python web framework, and how it operates. We learned how some people started learning how to code at age 57, so it is never too late to start.

We also discussed APIs, which stand for Application Programming Interface. It is the link that communicates the user’s request to the server and delivers back a response. APIs make connectivity between sites possible, especially in a complex set-up where many servers are connected to one user page. There are different kinds of APIs. I watched the video about the REST API, where it explained how we can type functions in the browser and an order will go out to the server and then a result will show up accordingly.

Figuring out FileZilla was interesting. I was not able to connect to it during class even after connecting to Saxanet. I contacted customer service and they said that my account is working and they are not sure what the problem is. After much frustration, I went home and tried it again on a different internet and it worked right away. I went through the instructions that Greg sent, but was not able to figure out what exactly to drag into the directory. I will work with Greg on Tuesday to make sure I have the right folders in the right places.

My final pitch is coming together. I want to create a consistent brand with the same colors, fonts, and design throughout all my platforms. This way there is an association between my name and that brand. I want my website to be easily navigable and all tabs are clear and straightforward.

I started my new job this week. We work with many departments to help them live stream events. We send them a toolkit to walk through the steps of setting up the live streaming, how they can manage it and what information they need to submit to our team. The tool kit is a Word document that we share and the manager was complaining about how inconvenient that has been. I was thinking we should create a website that we can add plugins to and we can have the steps for live streaming laid out, as well as various sections to upload the information our team needs. We can also add an FAQ section and a demo/examples section. I was debating changing my final project to this instead of a personal website. I will discuss this possibility with Greg tomorrow. 

Final-Pitch Updated 3

What:

I am starting a new job where I will be working as a consultant. I will be working a set number of days per year, which leaves me with a free day or two a week. I want to create a personal business site where I promote my work, portfolio, resume, ideas about digital communications, etc. I would use the website to promote my business and book clients.

Who:

The audience for this site would be small businesses who are looking for someone to boost their social media and digital platforms. I would like to target the food and restaurant industry but could expand to more industries.

Why:

I want to promote my brand and book clients  

How I’ll achieve my goals:

I would put as much material on my site as possible. I would be consistent with my brand (colors and design I use throughout)

Theme:

Personal Portfolio

Customization: 

  • I will add plugins for my social media accounts: I would create a list of social media images and link them to the platforms.   (YES)
    • what? social media icons
    • why? to connect my website page to the rest of my platforms
    • how? code the various images and link to my own social media
  • I will add a plugin for a favorite social media platform to use form 
    • what? basic form to submit your favorite social media platform
    • why? to provide more information about the client
    • how? i will code the plugin for that form
  • Create a child theme that allows hovering over menu options at the top: about, services, etc
    • what? menu hovering
    • why? to make the menus organized
    • how? create a child theme for menus and the hover option
  • Add a plugin for services  (YES)
    • what? services
    • why? to add services
    • how? code a plugin
  • Add a child theme for font and size of text (YES) 
    • what? child theme
    • why? organization
    • how? build a child theme for the function
  • Customize the fonts and theme colors

 

 

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. 

Midterm Developer Profile

I was introduced to Mutsm through a friend because he thought Mutsm had a unique and an interesting path. He was born in Amman, Jordan in 1994. He grew up bright with so much potential and future ahead of him. During my conversation with him, he opened up about his background and family and how it shaped the man he is today. Both his parents are engineers and most of his family members were either engineers or doctors. There was a lot of pressure on Mutsm to take either route. According to his parents, it would have been a waste of his abilities if he decided to go another route, different from the scientific field. He did well in school his whole life and his parents were always very proud. When he got to high school, his parents made him take all math and science courses and advanced courses, in order to end up in a scientific field in college.

Mutsm got accepted into a Biomedical Engineering program at Johns Hopkins University, which is among the United States’ very best. He learned about Johns Hopkins from a mentor at his high school and then he came across the program when he did more research about it. He realized it was a very competitive program and could offer him a lot of opportunities. He decided to apply because of the potential this program could offer. It seemed interesting and had a great network. He also did not know what he wanted to do with his life, so it was an opportunity to explore options.

His first couple of months at the school were not as exciting. He was not as happy and his classes were not fulfilling his hunger for knowledge. He, then, remembered taking an Alice program during his senior year of high school, which he loved. He decided during the second semester of his freshman year at university to take a coding class for biomedical engineering where he worked with Python and Matlab. He really enjoyed it and did really well. This is when his interest in coding was first sparked. The following summer, he started doing coding on his own and learned how to solve problems on Project Euler. He also started taking more classes like Data Structures and Algorithms at university. He started applying programing into his biomedical engineering major. He wanted to switch majors, but he would have lost his scholarship and his parents opposed such a change. He agreed to continue doing biomedical engineering, as long as he got to work in the software development field after. During his senior year of college, he decided he wanted to do more coding and less biomedical engineering. He started applying to jobs in that field and doing his own projects, such as building an Android app to do note taking.

After college, he moved back to Jordan because he wanted to make a difference in his home country. He took a job at a startup called Mixed Dimensions, that built a marketplace for 3-D prints from games. He did not like the work or the little impact it had on the Jordanian community. He decided to join the new Expedia office that opened in Jordan, where he currently works as a software engineer, contributing to the expansion of US companies in Jordan.

Mutsem is starting a master’s in computer science at Georgia Tech this fall. The program is online, so he will be participating in it while still living in Jordan. The reason he joined the program is that he thinks it would help to have a structured approach to learning that he was not able to do on his own. Doing this degree would offer him discipline as he aspires to gain as much experience as possible.

His most recent work is doing open source projects. He created an Alfred workflow to get keyboard shortcuts for applications and websites. He actively maintains an open source project with 27 stars and 3 other contributors on GitHub, incorporating requests for support for more apps from active users. Each app and its shortcuts were stored as a Python dictionary and merged into a Pickle file to optimize for performance. The workflow was customizable so users could add their own apps locally and override default shortcuts. He worked on Firefox Open Source Contributions, where he increased Jest test coverage for Firefox Debugger by 2.5% of lines in React.js. He fixed UI issues for Firefox Content Server in Backbone.js. In terms of MeteorJS Open Source Contributions, he fixed issues with frontend miniMongo database to closely match it to MongoDB behavior. He also fixed backend authentication issues.

He has been extremely happy with the decision he had made in taking the software development path. He is now a mentor at his high school to help young students interested in software development and figure out their passion at an early age.

 

Design Thinking

The PHP assignment for this week was interesting. I am not a big fan of PHP and I do not find it as useful as I would like it to be. I am sure PHP is very useful for people who know how to use it well.

The Twenty Seventeen reading was full of information. The design they offer makes it easy for us to use WordPress and work on adding various features to our website. The different parts of the theme are well organized for the user to simply add content.

The concept of an agile development process is rather new because it offers continuous work and feedback on a project. Early and continuous delivery are key in this method. The project must be worked on daily. Both the business people and developers must work together. There needs to be open chains of communications to make sure everyone is on the same page and understands the timeline expected. A working piece of software is the ultimate goal. The project must have intervals with various deadlines and, once feedback is given after each deadline, the developers can go back and make changes.

Design Thinking is a concept that is heard frequently. The concept has a positive connotation and it discusses the new approach by companies which has helped them become more successful. It is a design methodology to solve complex problems by drawing upon logic, imagination, intuition, and systematic reasoning, to explore possibilities of what could be. The author believes that Design Thinking is just a different name for Design. It offers nothing new. Creating a design is not just making something look good, but it is also about problem solving and finding an end-to-end solution. Many companies push back the design aspect of a project till the very end. This is because they think they need to create a product and at the end create its design and make it look nice. This is a wrong approach. Design, which is now called Design Thinking, should be introduced early on in the game, in order to find solutions to the problem and cater to the user’s needs. Therefore, changing the name from Design to Design Thinking, non-designers are now looking at design in a more complex matter.  It’s using the basic, proven tools of design to the maximum effect. This new name to Design has given designers more power and authority especially at the beginning of the project, which is a plus.