Ask HN: Your “simpler than I thought” epiphanies with computers

4 points by IvarTJ ↗ HN
I have had a few epiphanies when it comes to my understanding of computer systems that encouraged me to explore something that I had previously found intimidating. I am curious as to what other areas I would explore after hearing others’ epiphanies.

An example – the command line. Being part of the “point-and-click generation,” I became much less intimidated by the command line once I began thinking of the command line as a text-based file manager, and once I knew that most of the commands were actually the filenames of executables placed in the directories named in the PATH environmental variable. Before that I didn't think that the command line dealt primarily with something as familiar as directories and files, and I didn't know that you could start any program from it. I thought that I very likely would FUBAR the computer if I explored it.

Another is communication by applications over the Internet. In an argument on IRC about which was the best web browser, someone humourously suggested telnet. That made me curious, so I searched the web and found this[1] web page. It made me realise that most, if not all, connections over a network made by applications are basically two-way streams of linear data – two lines of one’s and zeros, and that many of these streams could be read as plain text using something like telnet. After that I began exploring other protocols as well with the aid of this[2] Wikipedia article.

[1] Best Viewed with telnet to port 80: http://www.dgate.org/~brg/bvtelnet80/

[2] List of TCP and UDP port numbers: http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

2 comments

[ 3.1 ms ] story [ 17.4 ms ] thread
My "simpler than I thought" moment was when I really understood javascript, after having programmed a few years with a strongly-typed language (C#, before C# 4.0 and the dynamic objects).

When I understood that everything is an object, how the scope works with inline functions and callbacks, etc... I was shocked at how easy it was to do everything in javascript with very little code and while still being easy to read and very flexible. I now embrace Node.js fully and I love every part of it.

Square peaked in my interest in hardware. If Square didn't exist and I had the idea, I probably wouldn't have done it given

a) my lack of understanding on how hard or how difficult doing different level of hardware dev is and

b) that an audio jack could transmit more than audio

That opened my interest to exploring all sorts of things about hardware where previously, my entire experience on the technical side had been primarily software.