lunes, 19 de septiembre de 2016

Triumph of the Nerds: Riding the Bear (Commentary)

Picture unrelated... kinda.

There's always the little guy, he who looks at giants with wondrous amazement and thinks to himself "Man, I could totally create a pair of huge giant arms, with those I could lift a thousand bricks and build a house in 20 minutes, something those big dumb giants haven't thought about, for sure. Wait, what if I sold those homebrewed giant arms?".

Refrain from judging my sleep deprived brain, but I think my reasoning is relatively understandable... kinda. Quoting Pablo Picasso, "Good artists copy, great artists steal.". It is not uncommon to hear stories of stolen glory in the IT industries, usually, whoever creates finds his credit swept away by a younger person who discovered an unthought use for the creation. Isn't that why Silicon Valley is constantly invaded and plagued of vague startups? Little companies stick to bigger ones like remoras to a shark, but this position under the shark's belly gives them a new perspective of what clients might want, or what clients might want to do with the shark.

This is the key to success in the wilderness that is Silicon Valley, look at what your neighbours are doing and strive to overpower them before they are done. Yes, there are many sources of inspiration, but you don't have to look too far, just think, "could this particular printer double as a toaster?", "will this new pc be able to run my socks database manager?". 

People are too critical to realize that, with the correct lawyers, and a good strategy, the whole IT industry is an open source paradise.

lunes, 5 de septiembre de 2016

Dick Gabriel on LISP (Commentary)


LISP always manages to confuse me even more each time I hear an explanation of its features. Objects and methods as the same? I had heard of this before when learning Ruby, I knew the compiler took everything as a an object, be it a string, int, boolean, an actual object, or even a teeny tiny char. This seemed logical, every value type has its on inherent characteristics that couldn't be treated the same between data types.

What I find so mind numbing is the fact that LISP just creates objects for every line, if you see a parenthesis in my code (which you will find in industrial quantities in LISP) you should know that an object starts at its openning, and closes at its closing parenthesis.What does this mean to the average object-oriented programmer? A true matrioska doll of unadultered and low leveled code, objects within objects within objects. This only makes objects easier to change and maintain, considering its attributes and functions are all objects that can be interchanged in a modular way, but is still something unheard of for someone like me who can only boasts of an expansive understanding of the Java language.

There's an interesting point made in this podcasts, and that is that LISP was original conceived as a tool for AI developing. I can see how such a simple and maintainable language con serve such a purpose but I couldn't even begin to list why I think that would be harder than making a compiler in Java. Not that I'm demeriting LISP, but it just seems hard, everything seems so ambiguous and abstract, I would imagine that the AI science would contain at least a small quantity of explicitely and compulsorily concrete values instead of all these weird data structures.

I honestly hope that by the end of this course I understand most (if not all) of the rarities LISP has to offer.