Resume

References

Transcripts

Student Projects

My Projects

Lesson Plans


A teacher’s technical skills are important. My background in the private sector, coupled with my education, gives me a broad base of experience from which to pull. The best way to judge a person’s technical skills is to view the work that they have completed. Here are a few short examples of my work.

 

 

At Arrick Robotics, over the summer of 2003, I designed a curriculum that uses robots to teach programming to high school students. My idea is simple: If students see movement in immediate response to their efforts, then they will be more interested and more motivated.

 

 

EricssonAt Ericsson Research and Development at Texas, I was a Software Engineer. I coded in a functional programming language called Erlang. In my first month at Ericsson, my Masters Thesis was front-page news on the Erlang.org web site. You may still be able to find a small link to it if you search for “Andy Allen.” This made me something of an Erlang guru locally. I also presented a proposal for a patent based on a new LAN topology using Blue Tooth.

 

Unfortunately, Ericsson has cut almost the entire design team of over 400 people that I worked on. This was a part of a major restructuring in which Ericsson cut more than 35,000 employees total.

 

 

UTA.At UTA, my Masters Thesis was the “Probability of Error Data Type.” This is a new data type for use in programming mobile robots. It transfers the responsibility for dealing with uncertainty from the programmer to the compiler. The following excerpt from my thesis shows a small portion of the mathematics involved in the deriving stochastic equations.

 

 

 

While working at Allegiance Telecom, I worked first in Systems Development, and then in Special Projects. My job was to design a CALEA (government wire tapping) solution. Here are small sections of code that I wrote, and the decided not to use. Note that this is not a complete section of code, but a few snippets thrown together in a pseudo-random, pseudo-obfuscated way that simulates a complete program. They are in MS Visual C++. I have permission to use this code only to show the nature of my work at Allegiance Telecom. It may not be copied or reproduced in any format.

 

/**********************************************************************/

/* MODULE:     MLOG.C                                                 */

/*                                                                    */

/* LANGUAGE:   Microsoft Visual C++ Version 4.2                       */

/*                                                                    */

/*                                                                    */

/* COPYRIGHT:  Copyright (c) 1999 by Allegiance Telecom, Inc.         */

/* COPYRIGHT:  Copyright (c) 1997 Eicon Technology                    */

/*                                used with permission                */

/* Modified by Andy Allen, Allegiance Telecom, Dallas                 */

/* Project CALEA                                                      */

/**********************************************************************/

/* This program record incoming and outgoing PINs                     */

/* Numbers, start times, stop times, etc.                             */

/*                                                                    */

/* It also bridges onto the call and records the B channel audio      */

/**********************************************************************/

 

/**********************************************************************/

/* Include Files                                                      */

/**********************************************************************/

#include  <windows.h>

#include    <stdio.h>

#include    <conio.h>

#include "include\platform.h"

 

/**********************************************************************/

/* External Functions                                                 */

/**********************************************************************/

extern word xlog(FILE *stream, XLOG *buffer);

extern  unsigned long  VxD_Open        (HANDLE* VxDHandle, const char* VxDName);

 

/**********************************************************************/

/* Local Function Prototypes                                          */

/**********************************************************************/

void Xmit_Info (/*FILE *,*/ word);

 

/********************************************************************/

/* Function: void Xmit_Info (FILE *stream, word CR)                 */

/* Purpose:  Send an info message to the network                    */

/* Note:     this eventualy gets us the numbers on an outgoing call */

/* Parameters: CR is the call reference (integer)                   */

/* By:       Andy Allen                                             */

/********************************************************************/

void Xmit_Info (/*FILE *stream,*/ word CallReference)

{

 

    byte ProtocolDiscriminator;      /* protocol descriminator            */

    byte MessageType;                /* message type                      */

    byte BUFF[2];                    /* buffer that contains message body */

    int  SIZE;                       /* size of message body              */

 

    ProtocolDiscriminator = 0x08;   /* BRI                                */

 

    MessageType = 0x7B;             /* INFO                               */

 

    BUFF[0] = 0xA;

    BUFF[1] = 0xB;

    BUFF[2] = 0xC;

 

    SIZE = sizeof(BUFF);

 

    TRANSMIT_MESSAGE(ProtocolDiscriminator,

                     MessageType,

                     CallReference,

                     SIZE,

                     signalling[index]);

 

 #define TRANSMIT_DATA(P1,P2,P3,P4,P5)

    tx[P5].header.Type          = P1;

    tx[P5].header.Id            = P2;

    tx[P5].header.Ch            = P3;

    tx[P5].header.Data_Length   = P4;

    if (tx[P5].header.Data_Length==0) {tx[P5].data[0]=0;}

    IDI_PutVoice(VxDHandle,P5,&tx[P5],sizeof(IDI_MSG_HDR)+tx[P5].header.Data_Length)

 

/* SNIP */

 

} /* End of function Xmit_Info */

 

After an enjoyable stay at Allegiance Telecom, I resigned due to a serious illness. Everything is under control now.

 

 

While at Arrick Robotics, I worked assembling robotic systems. This included both electrical and mechanical components for precision positioning systems and mobile robotic platforms. Work included precision machining using milling machines and lathes. I assembled more printed circuit boards than I could count.

 

The family atmosphere made it amazingly worthwhile.

 

 

directNIC Search
Hosted by directNIC.com