blog.natfan.io

Rants and ravings from a techy brit.
(Now hosted on DigitalOcean!)
Dark Mode?

Elaborate Hacking Montage

Posted 6 years ago.

So, going off my previous post about Hacking on WikiHow, I got into a bit of a tangent and it became rather wholesome. Today, I've decided that I'm going to finish off that original train of thought.

Honestly, I agree with a lot of what the article said. You really should learn how operating systems function, what the actual code behind the language does, the advantages and disadvantages of each language and operating systems. Most of the advice in the article is good. My main issue isn't really of the content, although I think that some stuff can be added, which I will explain later. My issue is the order in which the article is presented.

HyperText Markup Language, or HTML, should never be your first language. HTML is not a programming language, and should not be treated as such. Learning HTML is very important, as website design is an important skill, but it shouldn't be considered a programming language as this can lead to bad habits down the road. I would recommend python, if you're older than about 15, or Scratch if not. Both are very easy to learn and teach the core concepts of programming such as:

  • variables,
  • functions,
  • objects,
  • syntax,
  • data structures,
  • programmatic logic,
  • debugging

Another thing that I disagreed with in the article was that it said that you should "learn a martial art". I honestly feel that this is just someone with an agenda who really wants other people to take up the arts. I do not consider "learning a martial art" as a must-have for every hacker on the planet. It just sounds pretentious and stupid, in my opinion.

I'd also argue that "fighting authority" isn't a hacker-y thing to do. While it may seem that way in the movies, with l33t t33n h4xorz breaking into evil banks and shady corporations, real hacking should be about working together with others to find a solution to an issue. If all hackers "hated authority", then who would work for Internet censorship software companies or work on ethical penetration testing for large corporations who have probably broken a few laws in their time?

I'd argue that "being competent" is not really a valuable skill as a hacker. Before you close this tab in dismay, hear me out. I feel that the only thing that a hacker really needs in his or her toolkit is the ability to ask questions well. I would recommend reading through Eric Steven Raymond's piece on Asking Questions The Smart Way. While it may look like a very old paper, it was last updated in 2014 to incorporate StackOverflow, so I think it's worth the read. Every hacker had to start somewhere, and we were probably all script kiddies at one point. The way we got out of this rut is by knowing how things worked so we could develop programs of our own. And how did we achieve this, you may ask? By asking questions. Yes, everyone needs to ask questions, because as I said in my previous post, no one knows everything.

I agree with the open-source aspect of things, but I'd say that you do not need to release every program you make as open source. If you write code well and you create a product that people want, you could just give it away for free then open it up to allow others to contribute later if they want to. I'd recommend keeping a few cards close to your chest at any one time, especially if you're new to the scene. There's nothing worse than having your ideas stolen by someone with more influence than you, so maybe keep the inner workings of some of your higher level programs to yourself for now.

Going back to my previous point, if you feel that you are capable of helping others every now and again, do it! You know how you felt at the start of your journey, so browse StackOverflow or some other development forum, and help out newbies. Try to be kind and not condescending in your answers, but do NOT spoon-feed them code. This practice will never help then learn.

That's about it for this post. If you think I did wrong somewhere, let me know! I'd love to have a discussion with you, so tweet me your thoughts.

In more meta news, I'm going to try to work on getting Disqus set up so that I can have a proper comments section rather than people just tweeting me.

Yours,

Natfan.