Triumph of the Nerds Part II

We watched a video in class, "Triumph of the Nerds Part II". It talks about the growth of the computer industry, and how they anchored to the "Bear", which was IBM.

Fun Fact, I've done multiple visits to IBM's campus and every time I visit, it kind of seems like a shell of what it used to be. It is quite interesting to see IBM out of the server business. Selling or spinning it off to Lenovo.

We watched how Microsoft grew out of the small business they had by using "the Bear" to catapult off of their work. By Microsoft licensing BASIC to IBM, they had the control over whatever happened. For me, it is one of the most influential business decisions of the twentieth century.

As Microsoft conserved their lead over IBM by having the control over the development of the software, all IBM basically did is to consult and add management to the work of others. I'm in no position to understand the motivations behind this, but it is absolutely horrific the amount of disregard they had for having smart people, over hard workers.

IBM had good business practices for the previous century, but when the personal computer era came in, it wasn't about smart deals and good business contracts, it was about having enough people to know how to build the best computer systems. This quote by Bill Gates, proves this easily.

"If we weren't still hiring great people and pushing ahead at full speed, it would be easy to fall behind and become a mediocre company."
Bill Gates (Chaire.com, unknown)

At the end, the companies who won, were the ones who hired the best people. This is what revenge of the nerds II reveal to us. It wasn't those who had the best bureoucracy, but the ones who had the best people.

Anonymous. chalre.com http://www.chalre.com/hiring_managers/recruiting_quotes.htm

Cringely, Robert. “Triumph of the Nerds Part II: Riding the Bear”. (1996) Publisher: PBS. seen during class on Tuesday, October 24



Language as the Ultimate Weapon

This article makes a review of the implementation of the language "Newspeak" introduced by George Orwell in his novel: "1984", where he reviews and explains how language is powerful to express meaning, intention and ability. He starts by stating the premise of newspeak: "To limit and deter people from thinking outside what we want them to".

Newspeak is a language that seeks to remove non-needed words, by limiting the availability of descriptive adverbs, nevertheless establishing a basic context of the words. For example: something very good would be "doubleplusgood" (using modifiers to a word, instead of adding more words before the word). If you wanted to express that something is very bad, you would say: it is "doubleplusbad" which is pretty good. It is interesting to note that this systems works similar to some of the Asian cultures, where the context of a word can be changed by intonation, or the prefix attached to a word.

The author delves deeper into an analysis of the methods of control employed by Orwell in his book to control the mind. By it being optional, but easier to use, it is used to limit the thoughts of the people in the Party's control.

We can draw an extended comparison between using more difficult languages and standard languages. (Let's assume for a second that difficult languages are functional programming languages, not just because they are difficult by themselves, but because we are less familiarized with them.) Difficult languages let us express our full arrange of human concepts in the language, just as normal language (for example fractions or infinity). Nevertheless they are more difficult to use, so by having available this easier languages, we make the choice to go for the easier ones, whether we like it or not, as Jem Berkes mentions in his essay.

Berkes, Jem. 2000. Consulted November 9th 2017. Written February 27, 2000; Modified May 9, 2000. http://www.berkes.ca/archive/berkes_1984_language.html



Critique to my fellow students: Promises of Functional Programing (Students?)

I couldn't decide what to write about the Promises of Functional Programming, that is, until I found the blog entries by my partners. In first instance, and I quote, I found Estaban's synthesis fell short.

Something interesting about functional languages is how they manage concurrency and how they maintain the data in a coherent state; the key here is that pure functional code has no variables, which leads to no data coherence issues or need for locking. If there are no variables to lock, then there are no way functions access these non-existent variables and change the way they behave. 

Really man? This is your 8th entry on your clojure blog, and you are still using innmutability as a good resource to judge Clojure? Specially when one of the best topics to get out of the article is the subtle way where he jabs functional programming on the back?

Of course, the answer is no: the pure functional programs I’ve described to this point will just heat up your computer. You need side effects if you want your programto have any interaction with the realworld. But you can and should limit side effects to very few places.

This seems minor, but just amplifying this, we can see that other sides of the class are equally as pale. Josep's analisis is also lackluster.
The principal funcionality  of functional programming is that you compute by composing functions. A function in a mathematical is something that always return the same output to the same input without any change.  To solve these we cant use variable in our functions instead we use loops that evaluate a function with different parameters over each turn or lap.
Josep here tries to explain the eval and apply loop in a lackluster way. Sadly, Rick and Dick had already told us about the computability of lisp as eval and apply methods of functionality. You could have talked about the interesting transformation of dialetic programming with concurrency as it base.

Another example of more of the same is Luis Espinoza's analysis of a functional language. SAD.

Other of the pure programs’ benefits is the capability to receive a function as an input or produce a function as an output. As weird as it sounds, it is an amazing capability that helps to execute programs inside other programs without the need of stores values (yet again) and produce a faction that produces the expected value over and over 

Hinsen, Konrad. The Promises of Functional Programming (2009) Consulted on Octuber 15, 2017. Retrieved from: http://webcem01.cem.itesm.mx:8005/s201713/tc2006/the_promises_of_functional_programming.pdf

GIl, Esteban. Chapter 8: More robust, more compact, and more easily parallelizable; For an unlimited time offer, we present you: Functional Programming (2017)Consulted October 16, 2017, Retrieved from https://pla01375048.blogspot.mx/2017/10/chapter-8-more-robust-more-compact-and.html

Romagosa, Josep The Promises of Functional Programming (2017) Consulted October 16, 2017, Retrieved from https://programminglangaugesjosep.blogspot.mx/2017/10/the-promises-of-functional-programming.html

Espinoza, Luis. Functional Languages: The Dream (2017) Consulted October 16, 2017, Retrieved from https://programlgsluisespinosa.blogspot.mx/2017/10/functional-languages-dream.html

Rick Hickey on Clojure

On this review, we are going to examine Rick Hickey's comments and remarks on the Software engineering Podcast 


"This episode is a conversation with Rich Hickey about his programming language Clojure. Clojure is a Lisp dialect that runs on top of the JVM that comes with – among other things – persistent data structures and transactional memory, both very useful for writing concurrent applications."


The episode features Rick explaining the rationale behind clojure, which proves to be incredible well spoken. The first point he makes is that he wanted to create a language that was portable, so having it on the JVM really provides the flexibility that we've seen on new languages like JRuby. The JVM, has been proven to be incredibly fast. 


He also mentions that clojure has a strong mathematical root, as combining sets, vectors and maps. They resemble more their mathematical equivalent, which is good for solving complex mathematical equations.. For me personally I think computer scientist are going to find the clojure syntax more compatible with complex set theory equations more appellable than other languages. Specially because of the different implications of vectors and maps being bijective.


As mentioned in our previous blog with Dick, Clojure lets immutability be part of our stack, which is a massive advantage over other stacks. as behavior is clearly defined.


Clojure also allows you to have a consistent API with the JVM and Java. Which creates a rich set of applications that can interact with one another that allow different paths of combination. We could think about a website designed in clojure interacting with JRuby and Apache Camel, which by itself, proposes to be quite interesting.


[Podcast] Software Engineering Radio. Ep 158. Rich Hickey on Clojure (2010) Listened on October 10 2017. Retrieved from http://www.se-radio.net/2010/03/episode-158-rich-hickey-on-clojure/

Triumph of the Nerds Part I

Triumph of the nerd is without a doubt an incredible remembrance of the past of computer. Back when tech billionaires were on the scale of some billions, where a computer was seen as a hobbies artifact. It is incredible to see the advancement in computers throughout the years. I’m amazed by how efficient we are at optimizing the technologies we have to be more proactive.

This was an amazing watch, and reminds us of the novelty of our industry. IT also impresses by Although you may not realize it, you are quantum. It can be difficult to know where to begin. How should you navigate this ever-present world?
One of the most amazing things I've seen in this gem of a film is the amount of newness present in our industry. We are literally seeing change go faster tthan ever before. Some of the people born in the new generations can't imagine a world without internet. Do you imagine how wonderful it is to be born in a world where every question can be answered in the internet?

This video is insightful as to the impact of small things that happened in garages. It is also complimentary to all the advance Intel did in their processors. For me, It is similar to the offspring of life. If we didn't have the enriched pool of nutrients in the world in order for an accident to generate life, we wouldn't have had life. Similarly, if Intel hadn't advanced so much in the transistor world, a personal computer wouldn't have been possible.

Sometime this story seems to be painted as if It was a highly calculated degree of uncertainity, but for the computer enthusiasts who won the world, business was their final motive, not progress of humanity, which was only a byproduct of the decisions they took.

 Cringely, Robert “Triumph of the Nerds Part I: Impressing their Friends”.  (1996) PBS.