Flex, Regular Expressions, and Lexical Analysis

 What Makes a Programming Language?

There is an alphabet, words, grammar, statements, semantics, and various ways to organize the previous in order to create a computer program in a programming language. Flex helps developers create a tool called a lexical analyzer which identifies the words of a program during the compilation/interpretation process.

Continue reading

Linux From Scratch (LFS) Version 8.1 Overview

Choosing to use Linux means approaching a door through which is a deeper understanding of how computers work. In my opinion, completing a LFS project, or at least understanding what happens in a LFS project, is like a capstone to the sentiment in the first sentence.

Continue reading

On earthquakes, lakes and sensors

I live in Mexico City, one of the largest cities in the world. As all large cities, it has its ghastly demons. I am willing to argue that the one lying below it makes it unique in the world — We live atop what remains of a lake. Of course, it is not visible at plain sight (I would not surround it in this mystery setting otherwise): Our city is not Amsterdam or Venice, embracing the water, but we seem to hide it as if we were ashamed of it — there is a small surviving fraction of the once great Texcoco lake in the city’s South East, in the touristic Xochimilco borough, plus a wider region in the North East that just refused to go away, but has been historically shunned by everybody.

The lake, however invisible, is far from dry: Although it is mostly mud, it does contain some water pockets that are harvested to help our 22 million people have running water. That, of course, together with an impressive set of aqueducts bringing water from over 400Km away.

Continue reading

FPGA Setup: Interfacing with an External Circuit

The Introduction

For this post I will walk you through a project with a Field Programmable Gate Array (FPGA), which was interfaced with a hand constructed clock circuit (an astable multivibrator).

FPGA setup

External circuit to be interfaced with Mojo v3 FPGA development board

Continue reading