Contact Information and Social Media Links:
     Would you like to contact me?  Here's my
email!     I also have profiles on the following Social Media platforms:
- LinkedIn  - View my profile.
- ResearchGate  - View my profile.
- Dice.com  - View my profile.
- Stack Overflow  - View my profile.
- GitHub  - View my profile.
About Me:
- Dragonfly Amplification  - This webpage gives a view into my audio electronics hobby, building vacuum tube amplifiers, and other audio electronics projects, digital and analog.
- Kickstarter  - This link will eventually connect to my Kickstarter campaign, after it is initiated. I'm still working out the details for a couple of project ideas.
Here's some information on my academic background
and current educational resources:
- HTML, CSS, and Dynamic HTML, 5th Edition, by Patrick Carey, published by Cengage Learning.
- Bootstrap Site Blueprints, by David Cochran and Ian Whitley, published by PACKT. I've been reading this while coding this website, my first foray into using Bootstrap.
- The Joy of Bootstrap - A Smarter Way to Learn The World's Most Popular Web Framework, by Alan Forbes. It appears to be self-published, but sold on Amazon.
- HTML and CSS - Design and Build Websites by Jon Duckett, published by John Wiley and Sons, Inc. (Still reading this one)
- A Software Engineer Learns HTML5 JavaScript and JQuery, by Dane Cameron, published by Cisdale. (Currently reading this one)
- The JavaScript Handbook, The Ultimate Guide to Enhancing Your Sites With The Most Important Programming Language In The World, from the makers of Net magazine.
These are the web development books that I've read so far, and will continue to use for reference info.
- JavaScript and JQuery Interactive Front-End Web Development, by Jon Duckett, published by John Wiley and Sons, Inc.
- Building Android Apps with HTML, CSS, and JavaScript, by Jonathan Stark, published by O'Reilly Media, Inc.
- jQuery Mobile Up and Running by Maximiliano Firtman, published by O'Reilly Media, Inc.
- Programming PhoneGap by Jamie Munro, published by O'Reilly Media, Inc.
- Pro AngularJS by Adam Freeman, published by APress
- Programming the BeagleBone Black - Getting Started with JavaScript and BoneScript, by Simon Monk, published by McGraw Hill. I've skimmed through it, and it
looks very approachable, but I'm gonna wait until I buy a BeagleBone Black before I go through it again.
Books that I've bought, and are in line to be read next:
- I've just started learning how to build applications with Meteor.js, and I am debating whether to learn Angular.js or React.js next. At the moment I'm leaning towards React.
- JavaScript, jQuery, learning about AJAX and JSON, and practicing hand-coding CSS everyday. While I'm also excited about using Bootstrap and SASS/LESS, I want to
make sure that I also learn to "hand-code" CSS directly, and learn to efficiently 'navigate' the DOM. - I'm also working my way through the tutorials on Codecademy.com, and then I'm going to move on to Team Treehouse's web development courses.
Here's what I'm spending most of my energy learning now:
- I have enjoyed learning about some of the technologies related to DevOps, just dipping my toe in the water, you might say. I've learned how to use Vagrant to set up a LAMP stack
on my local machine, using VirtualBox to set up a Linux virtual machine, using Ubuntu 12.04 lts. I've experimented with substituting Nginx for Apache. I haven't learned a backend
language yet. If I end up working towards becoming a full stack developer, I think learning the MEAN stack sounds best, for an all javascript solution. Perhaps later I could
learn a server-side language for other stacks, like PHP, Ruby (on Rails), Perl, or Python - Right now I'm thinking I'd prefer to learn Python next, but that will need to wait for
a year or two when I have more time.
Other stuff I've been investigating and learning about:
- LearnCode.academy
These are a collection of Will Stern's video tutorials on LearnCode.academy's youtube channel. While all the videos are useful, informative, and free; I found this
particular video HERE to be especially helpful for understanding the career field of web development from a "big picture" point of view. Will gives a timeline with respect
to acquiring new skills and advancing and the choices you will be making in the unending process of learning new technologies. These videos are also a great way to
learn about the latest and greatest developing tools for someone, like myself, who is new to the field. - Codecademy
This a free online code academy with tutorials for learning various web developer skills. I'm about halfway through their JavaScript tutorials and to be honest it seems very easy
so far. I have had some exposure to ActionScript 3, from studying Flash, which is quite similar to Javascript, and the syntax feels familiar to me as well, probably because it is similar to C.
After I complete these tutorial exercises, and the jQuery sequence, I will start on Team Treehouse's curriculum, which is supposed to be more intense, and also covers a broader range of
development tools and subjects. - StackOverflow
This is a great place ask questions, find answers, and to learn from more experienced programmers. I find myself visiting here pretty often. - Bootstrap
This portfolio website is my first use of Bootstrap (and of LESS). Seems to be a great shortcut compared to hand coding CSS. - LESS
From the Lesscss.org site, "Less is a CSS pre-processor, meaning that it extends the CSS language, adding features that allow variables, mixins, functions and many
other techniques that allow you to make CSS that is more maintainable, themable and extendable." Less runs inside of Node, and is another code efficiency optimizing tool.
It helps reduce the amount of hand-coding CSS, and also reduces the size of CSS files. - SASS
A similar idea to LESS, but a different implementation. The benefits are the same. - npm
This link goes to an article that has initially impressed upon me that npm is good enough for me. I may learn Gulp later, if it becomes necessary within a team environment,
but not until then. NPM is the default package manager that comes with Node.js, it stands for (node package manager) and is a command line tool for managing dependencies
when configuring your development environment. Functionally it is an alternative tool to Grunt or Gulp. - CodeKit
I tried using LiveReload first, but ran into problems with compiling LESS files. So I tried CodeKit and I like it much better. It does the auto-refresh / local web server thing
nicely, so I can have all my browsers and mobile devices open at the same time (on the LAN) to test my webpages for compatibility and to confirm their responsiveness (to screen size).
Overall it's an easier, nicer, more organized looking tool for developing on a Mac. Their website has some very good video tutorials, and it's easy to get started with, although it has
features that I haven't explored yet, like the Bower plug-in, for automagically configuring projects and gathering dependencies. I'll learn more about that in the days ahead. - Sublime
This is my new favorite text editor. It has a lot of features to learn, and many cool plug-ins to explore. It's all about boosting efficiency while coding.
These online resources have been especially helpful for me:
90.267 C Programming
Introduces students to the techniques of programming in C. The language syntax, semantics, its applications, and the portable library are covered.
This course is not an introductory course in programming. However, it will teach some of the basics in the first few weeks. Students should have a
working knowledge of at least one high-level programming language.90.360 Intro to Data Structures w/C
This course presents the basic concepts of data. It covers stacks, queues, linear, and linked lists using C. Trees, graphs, search, and sorting
techniques also will be covered.90.311 Intro To Linux/Unix Oper Sys
Addresses manipulating and maintaining files within the UNIX file system; creating and editing text files using the vi and ed editors; using pipes, redirection,
and filters; using advanced text processing utilities; using electronic mail; writing and debugging shell scripts; submitting and executing processes.90.291 Introduction to DHTML
Dynamic Hypertext Markup Language using the tool that most professional Web developers use - HTML-Kit. The course covers the W3C standards for
HTML 3.2 and 4.0, Web protocols, Web server basics, Web design theory, and provides a survey of JavaScript, Cascading Style Sheets, XML, Perl, and
Dynamic HTML.90.230 Intro to Multimedia
Provides participants with an overview of multimedia and its professional applications in training, education, marketing, and entertainment. Scanning images,
digitizing video and audio, and exploring the design and production of interactive multimedia are the focus of this class. Includes technical/hardware
considerations and production procedures pertinent to interactive multimedia.90.247 Web Authoring: Flash
This course will demonstrate how to use web authoring applications to create cutting-edge interface, navigation, and streaming animation. Using open
standard vector formatting, you can create interactive capabilities on the web similar to CD-ROM screens. Learn how to use drawing tools to create
websites that include sound, clickable buttons, interactivity, and exciting animations.90.250 E-Commerce on the Web
This course examines the impact of emerging technologies on how we conduct business in a wired world. Topics include: ingredients for a
Commerce-Enabled Web site from hardware and software to necessary operational processes; copyright, authentication, encryption, certification, and
security; on-line payment strategies (SET, E-cash, check, and charge) and companies offering solutions: E-Commerce Business Models.90.346 Digital Media Delivery
Focused on the delivery of digital media, this course will explore digital media formats, file types, hardware and transmission methods. Students will gain
an understanding of current delivery systems, the growth of the industry, and emerging technology and trends. Each student will examine the theory behind
digital content, how it is delivered via the internet and in local environments, and what are the inhibiting factors to integrating digital content within web pages.
Students will be responsible for several digital media projects.90.480 Project-Based Information Systems
This course looks at information systems from the perspective of corporate management, rather than at a technical or programming level. It emphasizes
how managers can successfully understand and use information systems in order to better realize company objectives, such as the revenue maximization,
cost reduction, customer satisfaction, etc.CMPSCI 197U ST-A Hands-On Intro to UNIX
This course offers an introduction to working with Unix, and it is intended to help students work with tools commonly used in CS courses. The class is
comprised of both discussion and hands-on exercises in the EdLab. Topics covered include working with the command line, installing and maintaining the
OS and software packages, version control systems, compiling programs, and more. No previous experience with Unix is required. This course is for
CS minors and majors only, but it does not count towards either degree.ART-295 Introduction to Video
This studio course is an introduction to working creatively with moving images within a personal, historical, and critical framework. Through technical workshops
using iMovie and Final Cut Pro on the Macintosh, students explore the potential of digital non-linear editing and examine the characteristics and strategies of
various genres and forms to inform and enrich their own production.CS-119 Computer Language Supplement
This course addresses the dilemma of students who studied the equivalent of CS 110 in a language other than Java, but now need knowledge of Java in order to
take CS 210. Such students can, with the permission of the department, register for CS 119 for two credits. They then make arrangements to attend a section of
CS 110. They are required to do all the work of regular CS 110 students. However, CS 119 meets no core curriculum requirement and does not count towards any
computer science major requirement.MAT-130 PreCalculus
Preparation for first year calculus. Covers symmetry, graphs, functions, lines, parabolas and max-min problems, exponential and logarithm functions, exponential
growth, and the trigonometric functions and their inverses.CSI 233 Java Programming
An introduction to programming in Java. Topics include working with objects, flow control, classes, streams, threads, packages, graphics, animation, developing
applets and applications, incorporating applets into a web page, and security.CSI 229 Visual Basic
An introduction to programming in Visual Basic. Topics include object-oriented programming, DDE, OLE, menus, dialog boxes, graphic controls, the toolbox,
decision structures, working with text files and databases, development of Windows applications, GUI front ends for client/server applications, and integration with
other Windows applications.CSI 219 Data Communications
Introduction to the concepts, technology, and implementation of computer communication. Topics discussed are distribute systems requirements, network architecture,
communications protocols, local and wide area networks, data transmission, digital multiplexing, data switching, characteristics of transmission media, modems,
design of information flow, and message and packet switching.CSI 217 Operating Systems
This course explores the concepts of operating systems and their relationship to computer architecture. Topics include concurrent processing, scheduling, memory
management, file systems, device management, and resource allocation.CSI 216 Comp Concepts
This course is designed to provide the background necessary for an understanding of computers and computer languages. Programming assignments introduce the student
to methods of problem solving, programming logic, development of algorithms, coding in C, debugging and documenting programs. Topics include an overview of computer
organization, simple data structures, and organization, simple data structures, and file management.CSI 215 Fund of C Programming
This course description was not found.CSI 107 C++ Programming
This course is designed as an introduction to C++ programming. Problem solving methods and algorithmic development stressing good programming style and
documentation including top down and modular design is emphasized.CSA 213 Dbase Mgmt
This course is designed to introduce the fundamental process of developing, implementing, and maintaining a database system in order to produce management
information. dBase, MS Access, or other relational database programs will be used. Database programming is also included.CSI 235 Computer Architecture
This course deals with the structure and organization of the major hardware components of computers. Topics include basic logic design, CPU construction, and
information transfer and control within a computer system.CPSC 130 - Introduction to Programming and Information Systems
An introductory course devoted to programming and to a description of hardware and software concepts. Programming concepts covered include top-down program
development using pseudocode, algebraic notation, standard control structures, and arrays in an appropriate programming language. Other topics include binary
representation, storage, and general architecture and functioning of a computer system.
These are the college (computer related) courses that I've taken:
University of Massachusetts, Lowell:
Bachelor of Science degree in Information Technology
University of Massachusetts, Lowell, MA
Graduated (Magna Cum Laude, GPA 3.81) June 2015
UMass Amherst:
UMass Boston:
Quincy College:
Associate of Science degree in Computer Science
Quincy College, Quincy, MA
Graduated (Magna Cum Laude, GPA 3.7) June 2001