How I Got Started in Technology

I have had several people asking me this question recently with the explosion of traffic coming to SudoSecurity. I think it is time to actually answer it and to give a more recent blog post to my own blog.

If my memory still serves me well of the past, it is actually thanks to one of the first anime movies that I watched. This movie goes directly into technology, psychology, and philosophy. It also has some nice touches and is the future of the human race in about ten years more or less.

If you can name the movie and series from just that information, you are already on par. The movie and anime series is called “Ghost in the Shell”.

cyberbrainThe technology element of it is that they have brain hacking, cyborg bodies, a futuristic world that can be us very soon with the advances of technology. I know that I want to live in this type of world.

I could see myself as one of the programmers who creates the software for allowing the human brain to control the prosthetic bodies. Plus I can see me being on the good side of the world with cyberbrain hacking and cyber crime.

There will be needs for security from this happening also. In the series they have this security called barrier mazes, dumby barriers, and something like firewalls.

cyberspaceThe human element of the series relies on the ghost of a human being or their soul as we know it. Uploading our soul and minds into cyberspace and being able to download it into a new body is a concept of the near future. Heck, even that world within cyberspace is pretty cool looking according to the series.

For the real word version of all of this, which is what I want, is going to be an interesting creation of itself. How much could we base off of this anime and bring it into the real world?

The Psychology and Philosophy Elements

The movie asks one question which we still ask ourselves. What is your ghost? They also touch in the series the questions of what it is to be human and if and when we merged with the internet, would we lose our humanity? Also they ask if you do merge with the net, does that mean you are going to live forever or is that a death of its own creation?

I know we will have to wait to answer our version of those questions when the time comes.

That is the best way that I think I could answer this question. This movie and series got me into web development and programming. It also allowed me to sample psychology and philosophy with the way they added into it.

I am not sure currently, but I may have to revise and fix parts of this article to make me happier. Yet this is the best answer I can give for this subject.

The PHP Community Sucks

The issues which I am having currently with being a good developer in PHP is in the community aspect of the code and core. The core of the PHP community is filled with plenty of amazing talented people who creates some of the best, unique web applications to date.

For the other majority percentage of the community, they are usually all beginners and people who know what they are doing. They are focusing more on writing tutorials, articles, and posts designed to help people learn the language. In all reality, these people do not know what they are talking about.

Why is W3Schools still around?

Just having this site as the top search result on the major search engines is an issue in itself when you are looking for learning PHP and or referencing the official manual. I rather see more accurate, up to date information as a top search results than information that is over five… no wait… two years old.

This drives me insane when I am teaching someone PHP and they link the reference code and documentation from W3Schools instead of the PHP manual proves that people do not know what they are doing. Besides for that site, people are offering bad advice and deprecated coding techniques and ideas. People are still going to be using the MySQL functions in their tutorials and articles.

Database Access and Tutorials

I understand at one time that the MySQL functions were used in coding in PHP. They are not recommended at all. They have also need replaced by PDO and MySQLI which gives:

  • Prepared statements
  • Encryption with SSL
  • Compression
  • Transactions
  • Works with MSSQL, PostgreSQL, SQLite, etc.

What are we seeing in search results?

Deprecated tutorials that are totally and morally wrong to even see in the top results of a search engine. I am still seeing tutorials which are over ten years old for PHP database connections.

Sadly, we are not seeing properly designed tutorials to explain why to use PDO, how to connect to it with spaghetti code or class design. We see half-done tutorials to say throw this and this together for a database connection and to query information from the database. Even then, most of the time it does not even work in an actual test environment.

I am going to also call the majority of this issue is half-assed. They do not even mention error handling or throwing exceptions correctly. Even then, they are explaining how to do it in a development environment over a production environment. Giving out database details is morally wrong and leads to having your code exploitable and hackable.

Where are all of the good tutorials to explain database handling with handling errors and throwing exceptions correctly? If we had these, then the security of PHP would increase ten fold and allow developers to not be afraid of their code is exploitable; which it wouldn’t be if it was done right the first time around and explained well.

Building a framework, MVC, or CMS with PHP

There are a few, actually good articles on how to design one of the three around on the web if you are willing to look for them. Maybe I am not looking hard enough for these type of tutorials and articles for designing these items.

The bare-bone basics is not good enough to fully understand what one is getting themselves into when they are starting a project like this or learning how these are designed. There is way more to it than just throwing a few classes together, calling functions here and there, and building a blogging platform.

When building a production based (also known as a live site) web application, you have to consider the three most important things when it comes to serving people on the web.

  1. Security Minded: One needs to make sure that their code is the most secure possible and exploitation free. Validate input, trust nobody, and try to be one step ahead of a person who wants to exploit websites.
  2. Performance Driven: Code needs to operate fast and load extremely fast. I try to keep all queries for loading information from a database in web application at 10 queries or under. The better the code performs, the better off the web application is going to be.C
  3. Web Design: I am horrible at this, but I stick to with what I know. I tend to use Bootstrap for my web design with a few colour changes and mobile-ready. This web design framework is a win-win for everyone from a mobile phone user to the desktop.

How to solve these issues?

The community is large enough to make a site dedicated to spreading accurate information tutorials and updating them like a wiki with better information and input in how to connect to a database, query information, designing a framework, and so much more.

When I teach people PHP, I try to give the most accurate, up to date information possible for them to design their simple content management systems, forum, or blogging software securely, driven with performance, and visually pleasing.