Contact Information and Social Media Links:
Would you like to contact me?  Here's myemail!
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.
- 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)
These are the web development books that I've read so far, and will continue to use for reference info.
- 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
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.
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
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:
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.
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.
This is a great place ask questions, find answers, and to learn from more experienced programmers. I find myself visiting here pretty often.
This portfolio website is my first use of Bootstrap (and of LESS). Seems to be a great shortcut compared to hand coding CSS.
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.
A similar idea to LESS, but a different implementation. The benefits are the same.
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.
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.
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 ProgrammingIntroduces 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/CThis 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 SysAddresses 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 DHTMLDynamic Hypertext Markup Language using the tool that most professional Web developers use - HTML-Kit. The course covers the W3C standards for
90.230 Intro to MultimediaProvides 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: FlashThis 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 WebThis 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 DeliveryFocused 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 SystemsThis 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 UNIXThis 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 VideoThis 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 SupplementThis 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 PreCalculusPreparation 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 ProgrammingAn 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 BasicAn 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 CommunicationsIntroduction 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 SystemsThis 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 ConceptsThis 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 ProgrammingThis course description was not found.
CSI 107 C++ ProgrammingThis 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 MgmtThis 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 ArchitectureThis 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 SystemsAn 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
Associate of Science degree in Computer Science
Quincy College, Quincy, MA
Graduated (Magna Cum Laude, GPA 3.7) June 2001