In our modern world of mobile devices and tech, it’s easy to become distracted. As knowledge workers, we have an attraction to achieve mastery in our craft and autonomy. My family will attest that I do a lot of “work related” or “blog related” reading to stay on top of the latest maker tools, trends or leadership coaching. Our mobile devices offer an escape. They offer infinite entertainment, infinite knowledge, and illusion of being connected. Without checks and balances, is it worth the cost?
As I draft this post, I know that I can own the challenge of being more present to my friends, family and peers. As a Dad and husband, I am challenging myself to be in the moment. Honestly, this is a struggle. I work as a software engineer. Many programmers(including myself) will confess that they have the ability to continue working problems in their head even after they’ve disconnected from their computers. Now that we’re armed with mobile phones and Google, we can continue to “research” solutions anytime and anywhere. I know I have to cherish my wife and kids. My kids will only be little once in a lifetime. Let’s make this time count.
On a professional level, our team leader purchased our team the gift of really nice notebooks during a sprint planning meeting. After handing out theses gifts to each team member, he invited us to close our laptops/devices to encourage us to engage more deeply in the meeting and with each other. The message was the same. Let’s be present to each other. Since that teaching moment has happened, I’ve noticed that our team members have become more prepared to meetings too. This has increased meeting effectiveness. In some ways, this teaching hints at the agile concept of “people over processes and tools.”
As mentioned before, I struggle with the distraction of mobile tech just like anyone else. I believe that making, tinkering, and engineering skills support a profound engagement in learning. As my friend Sylvia Martinez says, “making is a stance toward learning.” Technology is one tool of many to express creativity and grow. It’s not the only tool. I have to acknowledge the tech needs limits, balance, and bounds. The following video by Guy Raz from NPR motivated me to draft this post. My goal in sharing this post is simply to create awareness of the influence of mobile tech. How do we use this tool effectively? How do we keep this technology in balance? How do we become more present to the people around us?
Do you have any rules of thumb that you follow to be more present? We love to hear from our readers. Please share a comment below.
Whether you’re just starting in your career or you’ve been working in the industry for years, you can benefit from the culture and practice of open source. I want to thank John Baluka for sharing his reflections and personal journey on this topic. I really appreciate John’s fresh business perspective on using open source to advance your learning and business. I had the opportunity to hear him share his talk on this topic during an ONETUG meeting this past week. If you’re in the Orlando area, make sure to check out ONETUG. They’re a great community of programming professionals.
I believe that John hit on 5 thoughtful benefits for getting to know open source solutions. In John’s view, you need to be strategic on your investment of time.
1. Personal learning and growth: In John’s journey, he wanted to find an example of a large software architecture written in .NET and ASP.NET MVC. He selected NopCommerce, a cool e-commerce platform for .NET developers. John organized lessons and meta-patterns from dissecting this project into a talk. Some of the topics included dependency injection, language localization, data validation, plug-in architecture, and agile design. John offered us a challenge to select and study an open source project as a tool to advance your career in architecture or software leadership. On InspiredToEducate.NET, we have talked about this principle in the context of the makers movement. Everyone can learn something from reading code, exploring a 3D model, dissecting an electronics schematic, music, art, etc. What’s an open source project that fits into your space of passion?
2. Open source software enhances your public profile of work: When you hire an interior designer, how would you make your decision? You probably would review pictures of previous work to see if the designer fits with your tastes and requirements. For the average job interview in software engineering, it’s typically hard to show code from your previous gig. (i.e. corporate secrets, policies) Most companies don’t do their work in open source. By getting involved and contributing to an open source project, you can enhance your public profile of work. How does your GitHub reflect your strengths and skills?
3. Speed to solution: It’s important to remember that software developers aren’t paid to write code. We provide value and solve business problems. Open source software enables our teams to reduce time to market. Phil Haack, creator of ASP.NET MVC and engineer at GitHub, shared a reflection that businesses should always focus on their unique value proposition. (i.e. what makes your company different than other options ) Open source provides an opportunity for companies to partner or collaborate on elements outside of your unique value proposition. Why write a big workflow system or content system when you can integrate one?
4. Open source is social: To advance your career, it’s important to expand your network and relationships. Growing authentic relationships becomes critical in growing your business. By collaborating on open source, you have an opportunity to learn from others. You have the opportunity to invest and support peers around you. I personally get excited about supporting the growth of others.
5. Business models around open source software: I really appreciate John’s reflections on this aspect. I admire his pragmatic approach to selecting NopCommerce. On one level, the open source project followed good and clean patterns. In his view, the project isn’t perfect, but you can learn something from it. By sharing his reflections on the software design during user group meetups and conferences, he started getting consulting requests to support NopCommerce integrations. He challenged us to strategically select an open source project for learning with an eye toward job growth. In the NopCommerce space, you can earn money by building store themes, building plugins, providing support or integrations. Here’s a few more blog post that elaborate on this idea.
Google I/O is an annual software developer-focused conference which features a keynote on the latest updates and announcements by Google. The conference also hosts in-depth sessions focused on building web, mobile, and enterprise applications with Google and open web technologies such as Android, machine learning, TensorFlow, Chrome, Chrome OS, Google APIs, Google Web Toolkit, and App Engine.
In this blog post, I’m going to share my favorite announcements from the conference. Hope these items serve makers, app developers, and web developers.
Abstract: Angular has a flag that will cut hundreds of kilobytes off of your bundles, improve mobile experiences, and allow you to dynamically create components on the fly. Learn about these changes and what they mean for your applications.
Android Studio 3.2
Google has worked to improve the application model for Android for simplicity, power, and developer speed. I’m curious to test the speed of the new Android emulator.
Abstract: The last couple of years have seen a plethora of new features and patterns for Android developers. But how do developers know when to use existing APIs and features vs. new ones? This session will help developers understand how they all work together and learn what they should use to build solid, modern Android applications.
For our makers and tinkering readers, you might check out Google AIY projects. I find it interesting that you can go to your local Target store and pick up a Google AIY kit so that you can start experimenting with machine learning, voice control, and computer vision.
Abstract: AIY efforts at Google puts AI into various maker toolkits, to make things more playful and, more importantly, to help you solve real problems that matter to you and your communities. Join this session to learn how you can use these kits to start adding natural human interaction to your maker projects. It will feature demos on the Voice and Vision Kits, and some amazing AIY experiments built by the makers community around the world.
Abstract: Come watch a single developer code a beautiful app in real-time from the ground-up that runs natively on iOS and Android, all from a single codebase. Along the way, learn how to marry Flutter’s latest multi-platform reactive UI elements, accelerometer, and audio capabilities with powerful Firebase SDK functionality. See this app painted to life piece-by-piece in under 40 minutes thanks to Flutter’s sub-second hot reload developer experience.
Google’s ARCore framework received several notable updates. Firstly, Google ARCore enables developers to write Android apps that sense your environment. With these capabilities, developers can place 3D content layered over a view of the real world. This technology unlocks an amazing class of games, collaboration, and design applications that serve users in their physical spaces. The first version of Google ARCore focused on horizontal surfaces. Google has upgraded ARCORE to sense vertical surfaces(walls) and pictures. (i.e. custom tracker markers) Google now offers a way to shared markers or points of interest with multiple users. Let’s say you’re making an AR pool game using your dining room table. Multiple players of your game can collaboratively target the same dining room table and participate in a shared game experience. It should be noted that you can “instant preview” ARCore apps using ARCore Unity tools. This really helps you reduce your iteration cycles.
Abstract: Learn how to create shared AR experiences across iOS and Android and how to build apps using the new APIs revealed in the Google Keynote: Cloud Anchor and Augmented Images API. You’ll come out understanding how to implement them, how they work in each environment, and what opportunities they unlock for your users.
What’s new on Android on ChromeBooks
On InspiredToEducate.NET, we’re passionate about serving students, teachers, and makers of all ages. Since my wife works as a college professor, we’re constantly geeking out over various tools in educational technology. It’s very clear that Chrome books have made a positive impact in K-12 education. According to this article, Google Chromebooks command 58% of laptop devices in the K-12 market. That translates to millions of devices. It’s cool to see Google expand the capabilities of Google Chromebooks using their innovations in Android.
Abstract: With the Play Store on Chromebooks gaining traction, developers need to understand how to build high-quality apps and content for the new form factor. Attend this session to learn about adding support for larger screens, mouse and trackpad support, keyboard support (i.e. shortcut keys), free-from resizable windows, and stylus support for devices that have them.
Abstract: Android Things is Google’s platform to support the development of Internet of Things devices. This talk will provide an update on the program and the future roadmap. Learn more about the breadth of hardware reference designs, the operating system, building apps, device management, and support from chip vendors. It will also discuss use-cases where edge computing can be used, and examples of prototype-to-production that demonstrate how Android Things is ready for commercial products.
Abstract: Sceneform SDK is a new library for Android that enables the rapid creation and integration of AR experiences in your app. It combines ARCore and a powerful physically-based 3D renderer. In this session, you’ll learn how to use the Sceneform SDK, and how to use its material system to create virtual objects that integrate seamlessly with the environment.
Over the years, Google has focused their energy on advancing machine learning capabilities. They have now entered a phase where application developers can now weave the power of machine learning brains(machine learning models) into their applications. Google TensorFlow enables app developers to train powerful neural network models so that computers can learn and use that intelligence in applications. In Google photos, I can do weird searches like “flowers in macon, ga.” Since Google have fast neural networks that can I identify flowers, Google can quickly return a list of photos with flowers matching my expectations. Wouldn’t it be cool if you could put these capabilities into your Raspberry Pi or Android app? TensorFlow Lite enables you to leverage pre-trained TensorFlow models in your apps. I’m very impressed by their focus on speed and efficiency.
Abstract: TensorFlow Lite enables developers to deploy custom machine learning models to mobile devices. This technical session will describe in detail how to take a trained TensorFlow model, and use it in a mobile app through TensorFlow Lite.
The following video demo’s some of Google’s cool innovations in computer vision. Using Google Lens, the photos app can identify objects in view. In the future, you’ll be able to point your phone at a store. Using an AR view, Google can tell you ratings, descriptions, and pictures related to the store.
Join the conversation at our next Google Developer Group.
Interested in digging deeper into these technology announcements? What are consequences of connecting some of these ideas together? What opportunities do these capabilities give to our local developer community?
We’ll dig deeper into the latest announcements from Google I/O conference. We’ll discuss the various pathways for leveraging these technologies in your career. We’re excited to discuss how these tools can benefit local startups, makers and businesses in Orlando, FL.
When: May 24, 2018 – 6pm to 9pm
I/O Extended 2018 Orlando
Thursday, May 24, 2018, 6:00 PM
PowerDMS 101 S. Garland Ave #300 Orlando, FL
27 Members Attending
• What we’ll do Google I/O is an annual software developer-focused conference which features a keynote on the latest updates and announcements by Google. The conference also hosts in-depth sessions focused on building web, mobile, and enterprise applications with Google and open web technologies such as Android, Chrome, Chrome OS, Google APIs, Goog…
Looking for a fun way to explore learning to code with your students or children? Consider exploring writing Minecraft mods using Python. In our house, we continue to enjoy building(destroying) together as a family in shared Minecraft worlds. I appreciate that Minecraft helps the kids exercise their thinking about working in 3D. The python language favoring concise expression, fast feedback and quick iteration will keep students engaged.
As a parent, I have been searching for ways to make learning math more attractive for one of my kids. In this particular case, he loves to read and often enjoys finding ways to avoid doing tasks related to math. I’m so thankful that he has developed a joy in reading. I don’t think I had that motivation at his age. During a trip to a bookstore, he expressed interest in the book “Learn to Program Minecraft” by Craig Richardson. As an experiment, we picked up the book to explore his engagement level. In one week, he got to chapter 4 and started requesting that we practice coding Minecraft together after school. I felt something like this.
Seymour Papert, a key influence in the learning theory of constructionism, aspired to create a math world where children would play with math as a learning tool. I believe that he would be proud of the various open source projects that connect Minecraft to computational thinking.
To help you get started with coding Minecraft mods with Python, I wanted to share a few tools to help you get started.
1. Raspberry Pi: The Raspberry Pi is a great $40 computer build to engage students in playing with physical computing and computer science. If you run the raspbian operating system on your Raspberry Pi, you already have a copy of Minecraft installed and related python tools.
2. Setup for Windows and Mac: If you run Minecraft(java edition) on a Windows or Mac OS, you will find the following tutorial from instructables helpful. The tutorial walks you through the process of setting up your Minecraft server, setting up the python api, and configuring your Minecraft environment.
3. Getting Started with Minecraft Pi: This resource from the Raspberry Pi foundation provides a concise set of steps to get started. Make sure to check out the link on playing with TNT. (The kids enjoy that one!)
4. MagPi Magazine issue on Minecraft coding: I’m a big supporter of the MagPi Magazine. I often give this magazine as a gift to my geek friends. They recently published an issue on Minecraft coding that you’d enjoy.
6. www.codecademy.com: This interactive tutorial provides a fun way to get started with python programming and many other languages. People learn best when you see a new idea and immediately apply it. Code academy was designed with this learning pattern in mind. You are coached to immediately apply every new programming concept in an online code editor.
As a parent, I want my children to feel prepared to support themselves and thrive in the economy of the future. Given I have relatively young kids, we have no idea what this future will look like. Here’s what we do know. Many of the jobs and opportunities of the future have not been invented yet. Due to technology advances, the fundamental work patterns of many industries continue to transform. With this undercurrent of change, we know that the workforce of the future will demand strong problem-solving skills, design thinking, and team collaboration. It’s easy to let kids become engaged with consuming technology. Kids naturally like to watch TV, engage with apps, and play games. How do we engage our kids to become makers and creative problem solvers? How do we give our kids the creative confidence to shape their future? How do we help them to care and have empathy? Our future, however, rests on our ability to engage students in a path and habit of learning that helps them become makers. Due to decreasing technology costs, it’s become affordable and fruitful to introduce kids to design thinking using code, digital fabrication, and physical computing.
Over the years of writing this blog, it’s been amazing to see the diffusion of the makerspace concept into culture. I will always cherish the opportunities I had to help start a makerspace in Macon, GA called SparkMacon. I’m very proud of our efforts to start a young makers program to engage families in making, tinkering, and engineering. I’ve talked to home schooling communities about their interest in applying maker education in their curriculum. I’ve enjoyed seeing makerspaces grow inside of schools and libraries. I encourage you to enjoy this TED talk by Phil and Liana at Toorak College who lead a school based makerspace. There’s still lots of work to be done. As I talk with makerspace operators on the south east of the United States, it can be challenging to sustain these efforts and keep engagement levels high.
Abstract: How do we develop a mindset that challenges students to embrace the thinking skills, digital technology and design approach associated with STEM? How do we also develop and equip our staff with the skills and knowledge aligned with STEM to best support our students? How do we inform parents about the role of STEM in learning? Taking up this challenge in 2015, Toorak College in Mt Eliza, Victoria designed a makerspace titled the DIGIZone (Design, Inspire, Gamify, Innovate) the epicenter of STEM where students from all ages of the school can tinker, make errors, design, problem find and solve, collaborate, create while accessing an array of traditional and digital tools.
As I continue to organize creative learning activities for my family and future meetups, I have felt the need to re-charge and re-frame my thinking. With that in mind, I wanted to connect you to key documents and ideas from an organization that I love, MakerEd.org. Many of their playbooks, blog posts, and tools helped us plan our efforts in growing a makerspace for Middle, GA, designing workshop experiences, and facilitating the community.
I have found that books like the “Art of Community” by Jono Bacon are also helpful for maker community efforts.
This free ebook provides ideas for motivation, project concepts, and teaching theory. The work has detailed plans for getting started and executing your maker club. The plan proposed encourages students to design and focus on a project concept. The book combines a project-based learning approach while encouraging the student to select a focus project. The plan proposes that students present their work at a conference like a local MakerFaire. You should be able to adapt this playbook to your local situation.
Thank you to the team at MakerEd.org for their important efforts to inspire educational makerspaces across the world!
What are your challenges in growing your makerspace community? What are your favorite stories of your maker community in action? Please share a comment below!
My wife and kids enjoy bird watching. In our dining room, we attached a bird feeder to a window in the room. My wife asked if I could hack together a way to snap pictures of birds that visit the bird feeder. After doing some good searches, I realized that SimpleCV has some easy capabilities enabling you to create a motion detection system with Python. SimpleCV has become one of my favorite open source computer vision tools that you program using python. In general, computer vision is the branch of computer science that deals with understanding images and video. In this post, I’ll try to outline the major ideas from this script by the folks from SimpleCV. I made a few edits to the script to save video frames with motion to disk. To learn more about getting started with python programming, check out this blog post.
In the world of computers, a computer image exists as a grid of numbers. Each number represents a color. A pixel is a cell in this grid of numbers at a particular (x,y) position. SimpleCV enables you to capture an image from your web camera using the following code.
1 2 3
from SimpleCV import *
cam = Camera()
current = cam.getImage()
Let’s say we capture two images taken within a 1/2 second of each other.
1 2 3 4
previous = cam.getImage() #grab a frame
time.sleep(0.5) #wait for half a second
current = cam.getImage() #grab another frame
diff = current - previous
SimpleCV defines an image subtraction operation so that you can find the differences between two images. If the current and previous images are exactly the same, SimpleCV will compute a black image. (i.e. a grid of zeros) If current and previous images have substantial differences, some of the cells in the diff image will have positive values.
At this point, we compute a ‘mean’ factor using all the pixel values from the diff image. If the mean value is higher than a particular threshold, we know that a motion event occurred. We capture an image and store the image to a file.
You can review the complete code solution below.
The following web page from SimpleCV outlines other applications of image math.
cam = Camera()
threshold = 5.0 # if mean exceeds this amount do something
i = 0
disp = SimpleCV.Display((1024, 768))
previous = cam.getImage() #grab a frame
time.sleep(0.5) #wait for half a second
current = cam.getImage() #grab another frame
diff = current - previous
matrix = diff.getNumpy()
mean = matrix.mean()
if mean >= threshold:
print "Motion Detected " + str(i)
# capture the image. Display it. Save the image as a JPEG.
img = cam.getImage()
img.save('%.06d.jpg' % i)
# change the filename counter variable.
i += 1
Interested in learning more about SimpleCV? Check out the following PyCon conference video
Abstract: Katherine Scott: This talk is a brief summary of Computer Vision tutorial we proposed for PyCon. In this talk we will discuss what computer vision is, why it’s useful, what tools exist in the Python ecosystem, and how to apply it to your project.
The micro:bit community has done a great job of putting together helpful tutorials and lessons for a wide range of students.
In the past week, our Google Developer Group of Central Florida teamed up with the Unity 3D meetup of Orlando and LucernaStudios.com to discuss building VR experiences for Google VR. We shared the fundamentals of building for Google DayDream and Cardboard. We also explored connecting those game experiences with Google Firebase.
I want to give a shout out to Hunter and Jose from LucernaStudios.com. Longtime readers of InspiredToEducate.NET know that we believe in playful learning. (game-based learning or challenge-based learning.) LucernaStudios.com care about helping kids to learn through engaging game-based learning. I also appreciate their vision to connect families through game-based learning. We appreciate them coming out to our meetup to share their story with building a math education game using Google Cardboard SDK. Beyond that, they also talked about their lessons learned in playtesting their games, exploring the educational technology market and focusing on knowing their audience. I like the way they’re applying lean startup ideas.
To the Unity 3D meetup group, we appreciate your community and quality content that you organize regularly. If you’re interested in connecting with other game developers or people interested in VR/AR, you’ll enjoy this community. You can connect with the Orlando Unity 3D meetup at their meetup page.
To help provide a project-based learning experience around Google VR, our Google developer group drafted a small multi-player block builder experience we call “Block party.” It provided a solid set of examples to talk about Firebase real-time database, DayDream instant preview, and other Unity 3D fundamentals.
Block Party VR provides an open source project based learning experience for developers getting started in VR or gaming. In this proof of concept game, we will build a multiplayer “Minecraft” like experience designed for VR. The current implementation leverages Google Firebase for client collaboration.
To maximize the impact of the project, we will focus on building a Google Cardboard app in the beginning. Google Cardboard VR has the largest VR market share. The platform can support iOS and Android devices.
Want to make a contribution of something you’ve learned? Create a feature branch and share your code!
Google Developer Group of Central Florida Next Meetup: Google Cloud Study Jam
Learn how to set up development and production environments in the Cloud.
Learn the fundamentals of the Google Cloud Platform, how to run containers on it and how to use the platform for data engineering.
Learn how Docker and Kubernetes work or learn how to process Big Data in the Cloud.
Get access to Qwiklabs.com, a Google training tool, FREE of charge.
Get Google-hosted badges for your online profiles, to show potential employers what you know about Cloud computing.
Study Jams are community-run study groups. The objective of Study Jams is to raise the technical proficiency of our community members through well-defined projects, labs, and technical knowledge sharing.
Google DayDream and Google Cardboard seek to make virtual reality experiences broadly accessible leveraging your smartphone and cleverly designed viewers. The initial release of Google Cardboard had a great DIY feel. Developers received a laser cut cardboard structure that you fold into a viewer, lenses, and a magnetic button. Using the sensors on your phone, Google Cardboard applications enable you to direct your view of the virtual world. Since the initial release of Google Cardboard in 2014, Google and their partners have launched an impressive ecosystem of VR applications and headsets. Check out the full history of Google cardboard here. Today, you can purchase a comfortable Google Cardboard compatible headset from your local toy store, Walmart, or Target at a low cost. It should be noted that Google Cardboard works on Android and iOS.
Building on the experience of Cardboard, Google designed DayDream as a first class VR experience that includes a motion controller. You can think of the motion controller as a “Wii remote” for VR. The elegant design enables you to point and click on elements of your VR world. With the motion controller, users can explore and interact with VR worlds more robustly. You’ll find apps that let you move around a VR space. Click and scrolling through content is much easier using the controller. Unfortunately, the Google DayDream system requires a high performance device like a Google Pixel or Samsung S8. In the coming years, you will see Google release stand-alone Google Daydream headsets that provide the Google DayDream experience, but does not require a smart phone. During the CES conference this week, we got our first glimpse at the first Google DayDream headset by Lenovo priced around $400.
360 Videos on YouTube: For parents and educators, you’ll find YouTube 360 a useful tool for student engagement. Let’s say you’re introducing students to the internals of cells in Biology. You can find 360 videos of cell structure by searching in YouTube. Just include ‘360’ in your search. If a video supports a VR mode of exploration, you simply press the Google Cardboard icon and place your phone into your headset. This feature should exist on Android and iOS. In recent years, major newspapers have started publishing VR experiences to complement news stories. (Washington Post, Discovery, PBS, CNN, etc.)
360 Photos: Over the years, I have started to collect 360 photos of various places on our family trips. Using applications like Google Cardboard camera, it’s easy to take panorama photos and explore them later in VR. This feature should exist on Android and iOS.
Google Street View: I still think it’s crazy and amazing how much of the world has been indexed using Google Street view. Let’s say you want to give your students a tour of Kennedy Space Center in Florida. You can find it on Google street view. On Google DayDream headsets using the Google Street view app, you can tour all snap shots captured in Google Street view. And there’s a lot of them! My kids recently learned that the island in the “Last Jedi” where Rey and Luke meet actually exists in Skellig Michael in Ireland. You can tour this island using Google Street view in Google Daydream!
Arts and culture: Google Daydream has an awesome application for touring museums worldwide entitled “Arts and Culture.” It’s a delightful way to sample great collections of art from the comfort of your device.
Google expeditions: Many at Google have seen the potential of using the engagement factor of VR to inspire curiosity and exploration with their students. To help teachers facilitate “VR field trips” for their classrooms, Google has launched a program and app known as Google expeditions. In the original design of this application, the teacher has a central app for loading different VR scenes and experiences. The control center influences VR headsets used by students in the classroom. Many of these experiences are carefully crafted in collaboration with educators for effective teaching and learning. The collection of VR experiences indexed in this app is amazing. It’s worth checking out. As the class navigate through their “VR field trip”, the teacher can guide and lecture to help focus the students on various parts of their shared experience. In a more recent release of Google expeditions, you can now tour Google expeditions without a teacher guide. To learn more about Google Expeditions, check out the following talk from Google I/O 2017. I really love this application of VR.
In future posts, we will share resources for building Google cardboard and DayDream experiences.