Ray Pereda's Home Page




One Page Resume (HTML) (PDF) (text)
Curriculum Vitae

Brief Bio

Ray Pereda started out as a software engineer at Texas Instruments shipping software tools for micro-controllers and digital signal processors for four exciting years. He worked on information systems both at British Petroleum for managing refineries, and SAIC for war planning. While at the University of Arizona, University of Texas, San Antonio, and Microsoft Research he did work focused on the Icon programming language. As a military contractor, he was tech project leader tasked with building radar systems for low observable vehicles. At Xuma.com and Fetch.com, two Internet startup companies, Ray held senior technical positions. Prior to that Ray was a teaching assistant at the University of New Orleans where he studied mathematics, philosophy, and linguistics. He received his Ph.D. in Computer Science from the University of Nevada, Las Vegas in 2011.

Software Samples

  • Hangman
    This program simulate a hangman player. I used Shannon's entropy to select the best guess. I believe this is the optimal strategy. Looking ahead multiple moves is tested but shown to be of no advantage on average.
  • Repeating Phrases
    This experiment uses enhanced suffix arrays to compute ALL the repeated phrases in text. The repeated phrases can occur anywhere and any number of times. The 2011 State of the Union Address was used as the text. The code is written in Python.
  • Multi-Search
    This program builds a state machine for matching multiple strings in parallel. This is an algorithmic parallelism, not to be confused with threading. So, with one pass of the input, examining each character only once, we can find matches for several search phrases. At the core is a well-tested, bullet-proof implementation of the Aho-Corasick algorithm.
  • Stemmify
    This is a Ruby implementation of the Porter stemmer packaged as a Ruby gem. A stemmer is an algorithm that approximately maps a word to its root form. For example, "oberservations" maps to "observ".