Author Archives: Zoe Fuller

My Journey in Teaching My self How to Code

Category : General , Programming

When I would read about other’s success stories, I was extremely skeptical.It is only until I went on my own journey that I began to appreciate how hard work can pay off.

A few years ago, I decided that I would teach myself to code.I was unhappy at the job opportunities in my field. I wanted a change and I felt programming was the right fit.

Changing Careers

It is very scary to completely give up on a career. I was working in finance, but I felt as though the opportunities were limited. Unless I was willing to work the insane hours of an investment banker, I was not going to have the type of career I wanted.

I also felt there was too much personality in banking, particularlyhaving to gain favor from the right people in the company to advance. I wanted a job where I could progress on merit, not because I was building the right relationships.

Learning to Code

While many people take the route of a paid coding course, I decided to teach myself. It is partly because I wanted to save money, but also because I wanted to prove to myself that I could do it on my own.

I looked at how I could use free resources, such as forums, Code Academy, Skill Crush and more. There are so many websites that can help to teach people the different elements of coding. I used as many of those as I could fit into my routine.

Free Courses

Aside from going on forums, trying various coding exercises on free websites and reading coding books, I also used free courses to my advantage.

Courses such as Udacity CS101 and Harvard CS50 are incredible resources. These are free courses that anyone can sign up to take. The resources are available on the course site, while it is possible to log percentage after every exercise is done.

Learn Linux

If there is one step that truly helped me “understand” programming, it is when I decided to dual-boot Linux onto my Windows computer.

It was an initially frustrating experience, as I had no clue how to work Linux. But after much Googling and research on forums, I started to get comfortable with how it worked.

Linux is helpful because it shows the practical aspect of inputting various code into the system. I was learning so much just from trying to add various functionality to my Linux OS.

FreeCodeCamp

When I was done with my two free courses and I had spent a lot of time on Linux, I went on FreeCodeCamp to try and hone my skills. The site is great because it offers free courses on HTML5, CSS3, JavaScript and Git.

There are thousands of little lessons on the site that helped me learn how to code. I will admit, some of the lessons took me a LONG time to complete. But it was worth it.

There are also five final projects that each provide a certification. Only when I was done with all of them did I feel confident enough to apply for my first coding job.


My Experiences Working as a Programmer

Category : General

One of the reasons so many people go into computer programming is because of the healthy job market.I learned programming for the same reasons.

I did have a passion for the subject matter, but it helped that a healthy job market was waiting for me when I graduated.But no matter the health of the job market, getting started in the industry is a challenging process.

 

Here is how I went from not knowing how to code to landing my first job.

Put in the Hours and Find a Teacher

Learning computer programming is not an easy process. Anyone who thinks they can learn a programming language in a few weeks is kidding themselves. It takes a lot of hard work, overcoming frustration and long nights.

When I first started, I will admit that I encountered many struggles. Even when I was making progress, I felt it was too slow. What changed for me was getting a teacher.

Sure, it is possible to learn programming through a self-taught process. Many of my colleagues learned that way. Bu it takes longer and is not for everyone.

If you are like me, then you may prefer when someone is guiding you through the learning process. It certainly helped me. With a teacher, I was learning far quicker and making great strides.

Understand Good vs. Bad Jobs

It is tempting to apply for every single programming job available. I started doing that at first. I was sending my resume everywhere that I had a chance of getting an interview. But that was a mistake.

Like any industry, there are plenty of bad programming jobs. Avoiding those jobs is a great way to begin a career in this profession.

There are too many digital agencies that hire programmers to churn out websites by volume. So much bad code is involved in that process, because it is all about getting the job done quickly.

It is how my first job went. I worked for a fairly large digital agency. I was so excited at first. But I quickly realized that we spent less than two months maintaining a single website project, which meant lots of bad code and little time to learn.

Find jobs where the company will be working with fewer clients. The work is more in-depth, as you end up spending more time on a single project. When I worked at such companies, I found that I was learning so much more about coding.

Avoid Freelancing

If there is one bit of advice I can give to someone who wants to find their first job in programming, I would tell them to avoid freelancing. Unless there is an urgent need to make money when in between jobs, coders should not go into freelancing.

Most clients pay very badly and expect perfect work, while finding clients can take up as much time as working for them.

Be Patient

I wish I had been more patient. I spent too many months working bad programming jobs where I barely learned anything. It is great to feel wanted, but it is better to wait an extra month for the right opportunity.


New Tools Allow Users to Decide Where Their Online Traffic Goes

Category : Free Learning , General

The beauty of the internet is that people have access to so much information from around the world.Data from millions of websites is readily available within a few seconds.Not only is the data accessible from computers, but smartphones and tablets too.

But being able to access all this data on the smallest of devices also means that a user’s data is being transmitted through various countries.Many countries and individuals are concerned about where their data is going or passing through.

New tools make it possible to decide how that data is transmitted.

 

Region-Aware Networking

It all started from a study by researchers at Princeton. They wanted to see where data passed through when it originated in different parts of the world. Their research revealed some very interesting facts.

For instance, the research showed that a lot of the internet routing paths that go from countries such as Brazil, Kenya and India are going through the United States and Europe.

To properly understand the issue, they came up with a tool that is known as Region-Aware Networking. It is shortened as RAN. With RAN, a user or organization should be able to reroute their network traffic so that it is not passing through specific countries or regions.

Popular Sites Have Common Hosting Countries

The issue is that many of the most popular websites on the world wide web are hosted on servers in the United States or European countries. Even when these sites are accessible around the world, it is done through contracts with the content distribution network.

It is why the RAN was not as successful at rerouting in certain situations. While it worked most of the time, it was not able to reroute much of the traffic when accessing popular websites from the US or Europe.

Research Using VPNs

The researchers wanted to find out more information about this traffic dependency in various parts of the world. They used virtual private networks, or VPNs, to access websites as if they were in different countries. For instance, they would use a VPN from Brazil, India, Kenya or some other country to access the same 100 popular sites.

The data they found showed how much certain countries are dependent on services in the United States and Europe. For instance, around 84 percent of the traffic from Brazil for popular websites was passing through the United States.

Countries such as India and Kenya had a lot of traffic going through Britain. Traffic from Kenya was also going through South Africa and Mauritius very often.

RAN Does Help

While the RAN tool developed by the team is not perfect, it did help avoid certain routes. For instance, without the tool around 50 percent of the routes from Kenya were going through Britain. The tool ensured that 97 percent of the routes were not going through Britain to access the popular websites.

RAN is the type of tool that would be useful for individuals or organizations who do not want their data bound by the laws of the country where it passes through – such as the United States.


A Computer Program Can See the Future

Category : General , Programming

Researchers at the University of Bronn may have developed a computer program that can see into the future!

While the program is not going to determine major events around the world, it is still very impressive.

The program, developed by computer scientists, is able to predict actions that will happen a few minutes into the future.And it was made using cooking videos!

Predicting the Future with Programming

The computer scientists at the University of Bronn had an idea. They wanted to create a computer program that could predict what was going to happen based on the action it was seeing.

They chose cooking videos to create such a program. The idea is that a cooking video is played and the program is able to accurately predict what the chef will do in the next few minutes, based on what is happening in the moment.

Practical Use

It is not just a fascinating concept to have a computer program that can predict a few minutes into the future. There are practical uses.

For instance, a kitchen robot with AI could be able to predict what steps have to take place at what moment, based on the dish being cooked and what is happening. The robot would know when to add certain ingredients, when to take something off the stove, when to stir and when to set the oven for preheating.

These are the types of actions that humans are able to perform as second nature, especially after a bit of practice. But it is not so simple for computers.

Training the Program

When it comes to this program, the computer scientists put it through hours of “training” before seeing if it could predict the future.

The program watched around 40 hours of videos where people were making salads. The recordings were around 6 minutes in length and had around 20 different actions being performed.

The program would “watch” the videos and its algorithm would learn what actions were following each other. It is not just about the order, but the amount of time in between different actions.

Time to Predict

When the program had watched all that training footage, it was time to see if it had learned anything.

The computer scientists would show the program around 20 or 30 seconds of a salad preparation video it had not seen before. And the goal was to predict what would happen for the rest of the roughly four minute video it had not seen before.

The results were impressive. The program managed to predict the correct outcome around 40 percent of the time – for short forecast periods.

When the activity was more than three minutes into the future, the program was only accurate 15 percent of the time. Accuracy refers to both the correct action and the timing of the activity.

The issue in a computer program predicting the future in cooking videos is that every chef has their own method. If one were to watch the same type of salad being prepared by five chefs, they would all do things at different intervals.

But the future of computer learning is here. It is only a matter of time before computer scientists succeed in teaching computers how to predict events with greater accuracy and further into the future!


Using Free Resources to Learn Coding

Category : General

Getting into programming is a lot easier than most other professions. While a lot of skill and learning is required to become a competent programmer, much of it can be learned individually.

Courses and teachers can help, but there are many great programmers who are completely self-taught. And with so many great resources available online, learning programming has never been easier.

 

Free Programming Resources

The two best free resources for programmers are Code Academy and FreeCodeCamp. These two websites offer programmers the chance to learn and hone their skill for free.

Not only do the sites offer many great courses that programmers can use to their advantage, but they can also put programmers in touch with small businesses, organizations and nonprofits that may require their services.

Individual Learning

There are ups and downs to individual learning. The biggest benefit is that a person is not tied to a particular course or college. It is not about learning in a classroom environment, but individually through various exercises. And it can be done anywhere; someone could be sitting at a coffee shop for a few hours and taking a few tutorials on how to code.

And it does not even require a particularly powerful computer, as almost every modern laptop should be good enough to run basic coding programs.

There are now web apps for coding, which make it even easier to learn and experiment with different types of code.

Taking Free Courses

After completing a lot of the free tutorials and guides that are available on the above mentioned site, future programmers can also look at free college-style courses. These courses are available through different institutes and universities.

The reason why free courses are so great is because they add structure to learning. A course requires various steps to complete and can help to direct a new programmer’s education in the right direction.

Applying for Jobs and Freelancing

One way to get into professional coding is to look at freelance opportunities. While it can be hard to find the ideal clients, it does offer the opportunity to test newly learned skills on real world situations.

A client may ask for a basic website edit. Such a project would require coding knowledge. When someone has completed many different courses and found themselves comfortable in a few programming languages, they will be ready to move onto the next level.

Freelancing is also helpful as it is a way to add experience to one’s resume. Being able to show real work was completed for various clients is a huge advantage. And when someone works on the website or blog of a major client, being able to add the client’s name to a resume is a major positive.

Patience and Self Motivation

If there are two skills that every programmer must possess they are patience and self-motivation.

Patience is needed for the moments where a lesson may not be easily understood. It is so easy to give up, but programmers must persevere until they fully understand the lesson.

And self-motivation is necessary because programming is such an isolating profession, especially for those who are trying to learn on their own!