Entradas

Reflections on trusting trust

  The article is short, but it contains the answer to a question that was posed since the beginning of the semester, the chicken and egg problem that stems from the C compiler being written in C , I’ve already searched for an answer of this and it introduced me to the concept of Bootstrapping , it’s a funny and accurate name for the concept , basically being using another language to compile a subset of the language and ten using the compiled language to compile the rest in an iterative way until you have your complete compiler .   The anecdotes of the trojan horses reminds me the time I read exactly about this , where you have to give your trust to the compiler since it can be tampered with and you wouldn’t know about it, and sure it’s an old problem and various techniques have been implemented to try to solve the problem like diverse double compiling but at the end of the day it only works if you have an untampered compiler to begin with, it just checks if other compilers have

Lin Clark Web assembly

  I totally agree with Lin Clark the web has experienced a lot of changes and the uses we give today are not remotely near what was envisioned in the early days , most of the people that work with computers in a casual or administrative way only use the web browser as their tool of work, even more technical people tend to use technical applicati ons more and more and the need for installed applications in the computer is declining .   Web assembly is pretty impresive , the gain you get compared to simple J avascript   are great, and for things that need high performance like web browsers is a big leap , since the current languages like JavaScript have some performance limitations , W eb assembly does not have these hard limitations, so its potential to grow is really big,sure without some amenities that Javascript have but for high performance in certain applications our tools need to change, and Web Assembly is that tool we need , it even increases the portability in the

Building Server-Side Web Language Processors

  The change from traditional application to web-based applications is pretty accurate to my own point of view, in fact in my integrating project the request of the client was that the proje ct must be deployed in the web , web development is one of the most important courses maybe not in actual deep and technical knowledge but more in practical way, and it is widely sleeked by the companies, so it is very important to have in the curricula, and having it interjected with other things like in this occasion with the compiler design course it's something that we probably didn’t expect and it's going to be very useful, we can take that extra bit from this class even though at first we could think it is unrelated , making it part of the course is a good extra.   Also, in the Programming Languages course the final project was illustrative, even our recommended IDE was in the cloud, I did no t used it because the latency with the server in my home internet was not great and had

La language design and implementation using Ruby

  This was a trip down memory lane with the courses that I took with professor Ariel, remembering Ruby and Lisps taking some characteristics that we saw during the course and combining the tools into a framework with the purpose of teaching and learning was pretty interesting , I don’t remember reading this paper befor e in any of those courses even tough is related, I guess it better if we have knowledge of all the previous courses plus this one to understand it better.   The paper is more like a manual for other teachers or maybe course program designers so they can understand the framework and also to defend it application on a learning environment, it quite interesting this approach to teaching especially considering the paper has been here for a long time and in the time of witting would have been a pretty new form of teaching . Understanding the innerworks by doing and even extending the tool used for learning is both a pretty good way to learn and to test the knowle

The mother of Compilers

  We owe a lot of we have today to Hopper, she didn’t took into account usual conventions, that’s probably why she was so ahead of her time , not taking as a given your “role” as a woman in those time was difficult , really difficult , it was an all the way up against almost all the people in you life.   She even had to learn all about computers on the fly, although she had a mathematics background it is still difficult to learn that much specially of society is not on your side , but it seemed she found a home in the army, where her abilities were not underestimated and she was considered a valuable asset to the forces .   She was immersed deep in her work; I would say her work was her life and vice versa , even thinking wide and proposing that a computer should be easier to use , and she end up writing a compiler, breaking though most of the techniques that are still in use today, but making the first time was not easy at all, it should have taken an enormous amount of

Internals of GCC

  First interesting thing that came to mind is the new trend of the processors to have more cores a ta c k le better more parallelizable tasks, so compilers must change to take better advantage of the advancements in technology, surely considering where the technology is going, while in past years the focus was to increase the instructions per cycle and the clock speed of the processor , the truth is that there are physical limits to the minimum size of a chip, and we are reaching them pretty fast with our x86 architecture .   The modularity of the components of gcc is also pretty impressive , it also makes sense, at one end the thing that changes is the language you are reading and interpreting, once you get to a universal structure the process of the gcc compiler should be the same and the front end and back end could be interchangeable while the middle end remains the same, so it reminds me a lot of the blocks we used to construct compilers and interpreters   It was very imp

The hundred-year language

  First of all , the document seems old, it says so below the title , it is from 2003, but I would say the design of the page is w hat gives away its age a first glance , not actually related that much, despite we talking about evolution and change in the article, but it is funny how the design of something can easily tell the age, especially talking about web pages since they change so much so quickly.   The first idea of the main branch I am not so fond of, I do not know if it's possible to predict if you will be still near the main branch in a future state , things can change very quickly and drastically , and something that in a time seemed like a little deviation of the main branch, just implementing some changes that not affect the c ore, can end up becoming the main philosophy of the future main branch that will spawn a ton of other little branches .   In addition to my previous point something like the efficiency of the language in computational resources decl