Stories on leadership, education, and innovation 

formats

Should You Use an Object Relational Mapper in your App?

 

When you write applications that communicate with a relational database, your design needs to solve a fundamental problem.   In most cases, we create systems using relational databases.  (i.e. MySQL, Oracle, MSSQL, etc.)   Similarly, we probably write our web or smart client applications using an object oriented programming language like C#, Java, Ruby, JavaScript, or Python.   The data access layer that you write needs to connect the relational database world with the world of “objects/methods/properties.”   In this post, I will review some of the benefits and challenges of using an object relational mapper, common set of tools and framework patterns to solve this mapping problem.

openBarterModel

In my professional experience, I have found ORM’s helpful.   The problem of converting database rows into objects is not a very interesting task.   I personally enjoy focusing my attention on the business logic, game logic, or control logic code.

Benefits of an ORM:

1)      Most ORM tools provide a method of mapping database table to your application objects.   For some ORM’s, the database tables are generated from application objects that you define.  You can also find ORM’s that create application objects based on database tables. (Many ORM frameworks support both styles)

2)      As mentioned before, an ORM creates a way for you to access your database tables using application classes that you didn’t have to write by hand.   Some frameworks automate the process of creating your classes from database structure.   If you’re coding in a static language like C# and Java, your compiler can help you manage data model changes in your application over time.

3)      Some have noted that ORM’s help reduce defects in the data access layer. Why? Since the mapping process between database tables and application classes has been code generated or automated, a human being can inject fewer mistakes.

4)      I really admire the Ruby Active Record technology.  In their ORM technology, they have created a cool system for changing the database model and the application model.The “Ruby on Rails” migrations feature giving developers a clean system for making edits to production or test code branches.

How do I find an ORM for my language?

http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software

What are some reasons to not use an ORM?

ORM’s will not work for every project.

1)      If your current code base has complex hand coded SQL in the data access layer, it may be hard to introduce an ORM into that culture.   It really depends on the situation.   If you’re starting a new module, you might consider testing an ORM in the bounds of that module.

2)      ORM’s have a bad reputation for configuration bloat.  An ORM has to solve the fundamental problem of mapping your database tables to your application objects. Some ORM’s are very verbose.  (I tend to avoid these)   ORM’s that use conventions are often concise.    I encourage you to write small apps to test if an ORM is the correct choice for your team.

3)      I’m a big fan of loose coupling.   When I design systems, I want to make sure I can test my business objects in isolation of data access.As you consider a specific ORM,  consider how much tight coupling the tool introduces between your business logic code and the data access layer.

I hope I have given you a balanced review of the benefits and costs of using ORM’s as you start your career.    Here are a few links that I used to research this post.   I hope you find them helpful.  I have also included a link to OpenBarter, an open source barter system written in C# using Entity Framework.  Entity framework is one popular ORM option for the Microsoft .NET framework.

 

We love to hear from our readers.   What are your thoughts?  Are you working on any fun software development projects?

 

Join the Spark Macon Maker Space Community on Facebook

Posts From InspiredToEducate.NET

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

Art and Tech Hacking Using Arduino – Meet up on July 29th

Published on July 19, 2014 by in Uncategorized

arduino

Massimo Banzi has started a movement. He invented a computer technology to teach his student artists and designers how to create simple electronics and prototype products in weeks. (not months) The Arduino has helped make electronics tinkering accessible to creatives young and old with a broad range of skill levels.   Since Banzi decided to share his innovation as open source, he has introduced a revolution in DIY electronics hacking. This technology has been celebrated by artists and technology professionals. Check out his story below:

Abstract: Massimo Banzi helped invent the Arduino, a tiny, easy-to-use open-source microcontroller that’s inspired thousands of people around the world to make the coolest things they can imagine — from toys to satellite gear. Because, as he says, “You don’t need anyone’s permission to make something great.”

If you’re interested in art and wearable tech, you might enjoy checking out the work of Becky Stern from Adafruit.   She has a really interesting job at Adafruit helping to review and promote textile materials and wearable Arduinos that can be used in costuming, fashion, or fun personal projects.   I discovered her through a recent edition of Make magazine.

Interested in learning more?

Join Mercer Google Developer Group for a fun evening of coffee, fellowship, and Arduino hacking. We’ll do a quick overview of the technology and various applications. We will be bring out Arduino devices so that you can tinker and experiment. I’ll probably bring out the Arduino robot too. (I finally got the distance sensor working!)

We hope to see you there!

Do you have any favorite Arduino projects or kits? Share a link below!

 

Join the Spark Macon Maker Space Community on Facebook

Posts From InspiredToEducate.NET

 

Photo Credit can be found here.

 

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

Stepping Outside the Mainstream

Peter and his car

Today is the first day of school for our boys (I know, early right?!). It has been quite the journey leading to this day and I spent some time reflecting on it last night as I laid out clothes and carefully packed lunchboxes. As both a student and a teacher, the first day of school is one of my favorites. It signifies new beginnings and the opportunity to learn new and exciting things. I’ve always loved school in general and I hope my children will have a similar love of learning. That said, when our older son started kindergarten last year I did not expect it to be such an emotional roller coaster.

Instead of enjoying his first year of formal education, I felt like we barely survived it. He is a bright, energetic little boy who happens to have a July birthday. I had no idea what a disadvantage this would be for him. He did fine on the kindergarten admissions test, but he was the smallest kid in his class and he just did not have the emotional maturity that his teachers expected him to have. Over the course of the year we were bombarded with notes home about how he couldn’t sit still and focus on his tasks. Honestly, we felt that we received more negative comments than positive. We felt like complete failures as parents. We felt helpless.

Our public school district is one of the best in the region. This was one of the best primary schools in the county and his teacher was an award winning teacher, yet, it seemed like something was going terribly wrong. More and more, it felt like we were trying to fit a square peg into a round hole. Despite all of this, our son never seemed to lose his enthusiasm for learning. One of our biggest fears was that he would learn to hate school. We knew that we would have to make a change.

Our family made the decision to pull out of the public school and switch to a Montessori school. Since students in the primary classroom starts at 3 years old, both of our boys will be going there. It was a long discernment process. I don’t think it is the right decision for every family(or even one that many have the luxury to make), but we feel like it is right for us. Montessori educational principles encourage creativity and independence. This is in contrast to what we experienced at the public school which felt very much like the “factory mindset” that Seth Goden speaks about (see his talk on education here). At the new school there is an emphasis on personal development and self-reliance, rather than on standards and tests. I feel like each student is treated as an individual rather than a member of a cohort.

It makes me a little sad that we are giving up on public education, but at the same time I think that it is important for us to step outside the mainstream. This is going to be an interesting year for us and I look forward to sharing some our experiences with our readers. Just another perspective among many :-)

Top Posts From Dr. Sarah Rosario

 

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

3 Tutorials on 3D Modelling with TinkerCAD.COM

Published on July 12, 2014 by in Uncategorized

Tinker CAD TARDIS

In the past, the world of 3D modelling belonged to engineers and designers.   Most 3D modelling software was hard to use and expensive.   The folks at TinkerCAD.com have created a delightful web based tool for artists, students, and creative technology professionals .   With this tool, you can start learning the basics of 3D modelling and print your creations using a personal 3D printer or a 3D printing service like Shapeways.com .

In our local maker community, I have started to receive requests for classes/tutorials on getting started with 3D printing and 3D modelling.   I have collected three helpful and brief tutorials to help you get started with TinkerCAD.com .  As I was reviewing this tool, I found the user experience and education materials very engaging and simple.

Benefits of TinkerCad.com:

  • TinkerCAD is free.  In order to use the tool, you need to use a WebGL enabled browser like Google Chrome or FireFox.
  • TinkerCAD has a feature to enable you to export your 3D models to Minecraft.   I haven’t tested this yet.   I, however, am looking forward to playing with this.
  • If you don’t have a 3D printer, you will appreciate that TinkerCAD integrates with services like Shapeways.com and Thingaverse.com enabling you to 3D print and promote your work.
  •  TinkerCAD has created a cool community of model builders and public models.    I was able to quickly find a Dr. Who “Tardis” and modify the model. (see picture above.)  The community feature enables you to learn how to construct complicated models by reviewing work from others.

TinkerCad is one solid option for getting started in 3D modelling.   If you’re looking for other options, check out this link from http://www.InventToLearn.com .

I hope you find these video tutorials helpful.


Abstract: This is a tutorial video that teaches you the basic functions of Tinkercad, a 3D design tool that runs in your browser.


Abstract: This is a tutorial video of how to import vectors into Tinkercad. Import .svg files to turn your 2D designs into 3D. Bring files from vector programs like Illustrator, Inkscape, etc.


Abstract: Teacher Liz Arum gives a demo of Tinkercad, a new browser-based 3D modeling environment. We then talk to her about some of the basics of 3D modeling. This is an archived clip from Make: Live, which was originally broadcasted on 9/28/11. Go to http://makezine.com/?live/? for information about the show, chat.

Please note that this last video is a few years old.   I, however, wanted to include it since Liz Arum provides an important educational perspective to the TinkerCAD tool.   Liz uses this tool to teach physical fabrication and computing to her middle schoolers.   (Very cool!)   Since this video was created, the TinkerCAD user interface and features have been improved.   

 

If you end up making something cool in TinkerCAD, share a link to your creations below!!

 

Join the Spark Macon Maker Space Community on Facebook

Posts From InspiredToEducate.NET

 

 

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

Pi-Bot: A Great Kit for Learning Arduino Robotics!

PI Bot

 

I just finished putting together my first Arduino robot: PiBot .  The PiBot is a fun kit for learning about Arduino robotics.   Using the kit, student inventors and tinkerers learn the mechanical aspects of building a basic robot and learn how to program it using C.   From a brief review, my kids and I have had a lot fun putting it together.

At this point in learning electronics, I have done many simple experiments with Arduino using tutorials from Arduino.cc .   While building circuits with blinking lights was cool, I wanted to start playing with sensors and motors.   The PiBot Kickstarter project was exactly what I was looking for!  Since everything is Arduino Uno compatible, all of my lessons from the Arduino world immediately applied to my new robot.   Having lots of pictures and brief instructions, I found the print documentation for the PiBot pretty clear.   The team at STEM Center USA is improving their teaching materials related to PiBot with videos.   Their PiBot kit comes with line tracking sensors, distance tracking sensors, and extra LED’s .

My kids and I enjoyed building the gear box together.  This activity helped my kids feel a connection to making the robot.   I found that you need to be careful about getting the “spacers” positioned correctly.   In our excitement, we were probably rushing through the construction of the gear box.   I did have to re-build the gearbox several times.   The process of making corrections to the gear box involves taking apart a good part of the robot.   This process of re-work was fruitful though.  It gave me an opportunity to learn from my mistakes and gain a deeper understanding of the construction of the bot.

I found the experience of putting together the bot engaging and fun.  I’m still trying to solve an issue of the robot drifting to the right a bit.   I am, however, very pleased with the quality of the kit.   If you’re looking for a fun and well-documented robotics kit for your students or family, I believe the PiBot is a very solid option.    I think the team at STEM Center USA should be very proud of their STEM education outreach and product.    They have been VERY professional in their communication and construction of this robotics kit.

It should be noted that SparkFun has a similar robotics kit at a $75.00 price point.   While this kit is also Arduino compatible, it does not include the sonic distance sensor.   In a future post, I might try to review this kit.

So… what’s next? I would love to mount an Android cell phone on the robot.   It would be cool to have a Google Hangout hosted on the robot.   I would like to get “upgrade boards” so that I can control the robot by remote control.  (i.e. bluetooth, http, wifi) .   It would be fun to remotely drive the robot from a completely different room or city.

 

Do you have any favorite Arduino projects or kits?  Share a link below!

Join the Spark Macon Maker Space Community on Facebook

Posts From InspiredToEducate.NET

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

What we can learn from hackerspaces: Catarina Mota at TEDxStockholm

Maker Faire Orlando

 

“Creativity is a great motivator because it makes people interested in what they are doing. Creativity gives hope that there can be a worthwhile idea. Creativity gives the possibility of some sort of achievement to everyone. Creativity makes life more fun and more interesting.” — Edward de Bono

 

Maker spaces/hacker spaces are community innovation spaces equipped with the tools, equipment, and grass-roots education required to convert your idea into a reality.   Think of it as an art studio or science lab for artisans and technology creatives.   These spaces are often equipped with tools for wood / metal working, electronics, music, art, and 3D printers giving makers access to tools that would be cost prohibitive to own yourself.

Catarina Mota, a maker, research scholar, and open source advocate, shares the positive impact hackerspaces can have on grass-roots education, innovation, and improving our communities.   I think she does a great job of helping to define the ethos of the makers movement and the benefits of hackerspaces in this TED talk.

I am very excited that this movement is gaining momentum in my community in Macon, GA.   My friends from the College Hill Alliance have been working hard to grow our community of artists and technology professionals.   I can’t thank them enough for leading this movement and this important work.   It’s exciting that College Hill Alliance has won a grant to bring a MakerFaire to middle Georgia.   This is so cool!

Over the past four months, I have had the privilege to work with the Middle Georgia Regional Commission, Infinity Network Solutions, College Hill Alliance, Macon Arts AllianceTAG Middle Georgia, and Mercer Google Developer group on a community project to help grow our maker community and build a shared creative space in Macon, GA.   All of our team members have grown and learned so much through our collaborations.   We’re really excited to amplify the success of our artisans and technology creatives.   We believe that our outreach will be a sign of hope for young makers too.    At this time, we invite you to join the movement.    Learn more about the Spark Macon MakerSpace project in our Facebook community group.  Please know that all are welcome to join!

Spark Macon

Cool Links for Making

 

Abstract for TED Talk:

Portuguese maker, open-source advocate and founder of openMaterials, a collaborative research project focused on open-source and DIY experimentation with smart materials. Catarina is a maker of things, a research scholar, and an open source advocate. She co-founded openMaterials.org, a collaborative project dedicated to do-it-yourself experimentation with smart materials, and altLab, Lisbon’s hackerspace. She has taught numerous hands-on workshops on hi-tech materials and simple circuitry with the goal of encouraging people with little to no science background to take a proactive interest in science, technology and knowledge-sharing. Catarina is wrapping up her PhD dissertation on the social impact of open and collaborative practices for the development of technologies. She is a fellow of the National Science and Technology Foundation of Portugal, co-chair of the Open Hardware Summit, TEDGlobal 2012 fellow, and member of NYC Resistor. Catarina has an MPS in Interactive Telecommunications from the New York University (ITP-NYU) and a BS in Communication Sciences from the New University of Lisbon (FCSH-UNL).

Photo credit: https://www.flickr.com/photos/maltman23/7283448284/

 

 

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

Google #Cardboard: Virtual Reality Fun for $2.50

Google Cardboard

It’s fun to consider the future of wearable computing.   Many of my friends at work can’t wait to get their hands on the Oculus rift to start building virtual reality experiences.   Thanks to Google, if you’re interested in tinkering with virtual reality and you have a modern Android phone, you don’t have to wait or have a deep wallet.   During the Google I/O conference last week, Google announced a series of open source projects enabling early adopters and makers to tinker with early design concepts for Google’s virtual reality platform.

To learn more about this platform, please visit https://gweb-cardboard.appspot.com/

You can also view the Google I/O session here:

From a quick review, here are some potential benefits of the technology

  • While the technology is still young, the virtual reality concept can provide captivating environments for training, educational games, and simulations.  The Google Earth app is just beautiful.  Someone needs to make Metablast using virtual reality.  It would be cool to explore the inside of a cell using virtual reality.  I can only imagine how artists will use this technology.   Good times!
  • I believe that Google is trying to start of movement of innovation using their cardboard project.   The Google+ community page for Google Cardbard/VR has 1900+ makers who are experimenting with the hardware design.   You can find people using 3D printers to print original plastic designs.   Others are using inexpensive toys for viewers.
  • For the most part, virtual reality is just expensive.    This move by Google will rapidly expand access to the technology while driving down cost across the industry.
  • I think it’s cool that Google supports native Android and JavaScript implementations of VR apps.   I believe that everyone  appreciates expanded capabilities of their existing Android phones.

In my case, I built the Google Cardboard viewer using my printer, paper, glue, tape, and cardboard folders.    Unfortunately, I would need to wait to obtain other parts and lenses.  Based on an idea from the Cardboard community group on G+, I tried getting a toy from our Dollar store.    With a few slight modifications, I was able to explore the Cardboard HTML5 and Android apps.   This has to be the most fun $2.50 I have ever spent!

I am looking forward to designing some cool educational experiences with the technology.

 

What kinds of virtual reality apps would you like to see? How would you use virtual reality?

 

Join the Spark Macon Maker Space Community on Facebook

Posts From InspiredToEducate.NET

 

 

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

#InventToLearn #ISTE2014 Workshop: Projects and Inspiration

inventToLearn

Inspiring and fun day of reflection, making and tinkering. Check out the project ideas, blog posts, and resources. Thanks Sylvia and Gary for the great day!  You guys are my inspiration.

 

 

Posts From InspiredToEducate.NET

 

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

Summer Reading

IMG_20121128_101441

After suffering through the semester from, well you know (see my last post here), I have not been inclined to do much reading or thinking about teaching. That said, I have read some interesting books during my summer break and I’d like to share them with you. When I get snippets of free time like I’ve had for the last 6 weeks or so, I tend to binge read. Some of these titles hold academic interest, while others were purely for entertainment. I realize that a couple are classified as “Young Adult Fiction”. Judge if you must.

Honestly, I feel a little vulnerable sharing the list with you :-) You can learn a lot about a person by looking at their bookshelf. I firmly believe that books have the capability to expand our worldview and open our minds to new ideas in a way that TV and the internet cannot. Books allow you to completely immerse yourself in a subject. When I’m reading the rest of the world just kind of falls away. That said, books can influence your thoughts and actions well after you are finished reading them. I’m still digesting the material but I do have a few initial thoughts that I’d like to share.

- The Book Thief by Markus Zusak

- The Zookeeper’s Wife: A War Story by Diane Ackerman

These two books were both set during World War Two. The first was a work of fiction, while the second was non-fiction. Both illustrated the power of fear and discrimination that dominated Europe during that time. They also provided examples of people that did not give in to the mass hysteria of Naziism and instead made choices that they believed were right, but put themselves and their families in harm’s way. Interestingly, both also emphasized the importance of education. In The Book Thief, the main character learns to read, while in The Zookeeper’s Wife, an underground school is maintained despite being outlawed by the occupying German forces.

- The Ghost Map: The Story of London’s Most Terrifying Epidemic–and How It Changed Science, Cities, and the Modern World by Steven Johnson

- The Panic Virus: The True Story Behind the Vaccine-Autism Controversy by Seth Mnookin

These two books are centered on infectious diseases. The Ghost Map chronicles the emergence of the field epidemiology during a cholera outbreak in Victorian England. The Panic Virus, on the other hand, is set in the modern day and examines the many different factors that underlie the phenomenon of the antivaccine culture. As a microbiologist, it is hard for me to imagine a world in which people believed that miasma and vapors caused disease rather than microbes. I also struggle with understanding why parents make the choice to forgo vaccination in the face of scientific evidence that contradicts their point of view. Both of these books emphasize for me the importance of education, not just in terms of facts, but also teaching students how to think scientifically.

- Where’d You Go, Bernadette: A Novel by Maria Semple

- The Fault in Our Stars by John Green

Ok, so honestly, I don’t really have anything profound to say about these two books. They were both read for their entertainment value (Who reads sob inducing, romantic, teen fiction for entertainment? Me, that’s who).

What books are you reading this summer? I tend to choose books based on other people’s suggestions so I’d love to know what you are enjoying!!!

 

Top Posts From Dr. Sarah Rosario

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 
formats

OpenBarter: Case Study in Civic Web App Design (Part 1)

Published on June 14, 2014 by in Uncategorized

OpenBarter

 

On May 31 – June 1, 2014, Middle Georgia citizens participated in the National Day of Civic Hacking(NDoCH), a fun weekend of community service using design, programming and technology.  In this national event, citizens across the nation explored challenges, created prototypes, and shared their solutions with their peers.

I had the opportunity to work with a great team at the Macon NDoCH event to help propose a barter market concept to help revitalize a city economy.   I think we all enjoyed pair programming since it enabled us to pump out code while teaching/learning the tools and technology.    Our team from Mercer Engineering Research Center really enjoyed the  opportunity to learn collaboratively with the students.   It was a blast!

What are  the benefits of our “OpenBarter” community exchange platform?

  • Encouraging Future Business Leaders: In our challenge statement that we selected, the Knight Foundation asked that we create an application “to help skilled individuals identify the opportunities they have as a fluid and independent working in their community.”   If you’re considering starting a career in freelancing or starting a small business, you face the problem of finding “start-up” capital.  By encouraging bartering in a community, freelancers can start offering their services in exchange for other resources, training, or skilled labor.  For example, I might build a website in exchange for lessons on writing a business plan.
  • Building the Community: According to Brian Redondo, the web application is only 50% of the impact.   The web site provides a marketing platform for a standing community barter market event.    According to Mr. Redondo’s vision, all barter exchanges are conducted “face to face” at a regularly scheduled community exchange event.    This will help foster positive relationships in the community.
  • Service Qualification through Gamification: Building on Mr. Redondo’s vision, students recommended adding gamification concepts into the website design.   As two community members conclude a exchange of services or goods, the community members rate each other on services provided.   With positive ratings or “karma,”  community members start to develop creative confidence.   Additionally, higher karma ratings will make the community member more qualified for future exchanges.   This also provides incentives for members to provide excellence in their goods and services.
  • Benefits of Open Source: As an open source platform, our solution can be scaled to communities across the world.   I don’t pretend to share that our software is perfect or production ready yet.   It, however, is a start.   Individual communities will need to decide how they want to manage the legal and marketing challenges connected to this concept.    It would be cool to see this solution used in farmers markets across the nation.  Additionally, I think the concept can be helpful in user groups, Makerspaces and Co-working Spaces.
  • Education: The source code can serve as a teaching tool for web application developers.  The source code can be found on my GitHub account here under an MIT public license : https://github.com/michaelprosario/OpenBarter

Special Thanks To the Team

 

 

Team Open Barter

 

I especially want to thank John Robinson, Tyler Burnham, and my friend Harrell for their contributions.  I also thank the team from the Mercer Google Developer Group for their support.

 

Through our conversations with our college student team members, the students shared that they really appreciated the opportunity to see how web applications can be designed and prototyped using a MVC framework.   In our implementation, we used ASP.NET MVC.    While we had only two days to work together, we learned a lot and got stuff done.   In this blog post series, I wanted to outline some of the major ideas in the application design process.   I hope the content will be helpful to other college students interesting in civic hacking and learning web programming.

The Mercer students from our group enjoyed the opportunity to rapidly engineer a software solution.    In an agile fashion, we constructed user stories from a functional specification by Brian Redondo .    Based on the stories, the team collectively drafted an entity relationship diagram on a white board talking through the design and making trade-off’s to keep the solution small.  The following shows our second iteration of the database model.   While the design is not complete, you can observe how we analyzed the functional requirements from Brian Redondo and implemented the database structure.  Here’s a quick introduction to the major tables:

  • UserData: This table stories qualification information and contact information about the user.
  • ForTrade:  Users can offer many goods and services “for trade.”
  • Want: Users can offer many goods and services that they need.
  • OfferForTrade & OfferForWant: Members can place offers on trades and want items. It’s important to remember that barter exchanges are conducted in person at public, safe, and standing community event.   In future work, we will design data structure to rate services offered by community members.

openBarterModel

 

Now that we have introductions out of the way, our next blog post will review the construction of the “model” layer of the application.  If you’re interested in learning more about ASP.NET MVC, check out this tutorial link:

http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started

 

We would love to hear your feedback on the OpenBarter concept.   How would you make the barter concept better?   Leave a comment below.  

 

 

Join The Middle Georgia Makers Facebook Group

Related Posts:

 

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments 

No tweets to display

© Inspired To Educate
credit