2023 was a memorable year and quite the ride! Eventful and full swing on so many fronts. Here’s the annual rundown:
pygeoapi: two releases, lots of development at code sprints and continuous improvement for the project. Dutch API rules, CRS and increased support for the various standards as they evolve. As well, numerous valuable discussions this year around hardening the project for the long term. Contributions (always valued!) continue to increase, which shows a healthy project with considerable interest.
pycsw: lots of improvements on standards support (OGC API – Records, STAC) as we move towards version 3.0. The project supports so many discovery API standards, and we are not done yet 🙂
OGC: development on numerous standards: OGC API – Records, and OGC API – Environmental Data Retrieval and Pub/Sub went though a number of improvements and updates in 2023. I was also fortunate to help deliver the OGC API workshop as part of the GISE Hub Winter School on OGC Stack (which included delivery of the Diving into pygeoapi workshop as well).
WMO: the WIS2 standards and architecture were put through a pilot phase this year. WIS2 specifications, guides, manuals all received significant updates this year thanks to the contributions of many experts. Most specifications also have reference implementations (wis2box, wis2-gdc, wis2-gc, pywis-pubsub, pywis-topics, pywcmp, etc.). The series of WIS2 training sessions also proved valuable for numerous members in implementing WIS2 technologies. Did you know that wis2box now has 30 or so deployments worldwide?
MSC GeoMet: the national weather/water/climate API platform continues to grow. We’ve recently added GOES imagery, and MSC AniMet is emerging as a great tool for visualization of our API!
Health: another year (circa 2012) of not smoking. I am hoping to shape up again in 2024, let’s see how it goes.
Looking forward to 2024:
pygeoapi: RFC2 will help harden things as we move towards 1.0. As well, look for news soon on the first ever pygeoapi code sprint 🙂
pycsw: moving towards 3.0, look for a new YAML-based configuration format, as well improvements on faceting, distributed search, harvesting and more
OGC: look for OGC API – Records to be released, as well as Pub/Sub development in EDR and beyond. The annual joint sprint with OSGeo will also take place in Évora, Portugal on 26-28 February. See you there!
For those interested in pygeoapi, the project was recently featured on MapScaping (available on Apple Podcasts, Google Podcasts, Stitcher and Spotify). The MapScaping folks were great to work with and I’d like to thank them for making this happen and asking all the right questions. Enjoy!
That’s a bit more like it, 2022! We finally saw some COVID restrictions lifted and a sense of normalcy (including a new normal) arose. It was fantastic to once again meet with people in person (for dinner, for a visit, for a meeting, you name it!). The pandemic had such a negative effect on me that even commuting again became a joy. Here’s hoping next year’s year-end blog post has even less COVID references 🙂
Having said this, 2022 proved to be a busy year, here are some highlights.
pygeoapi: New developments included support for OGC API – Maps, OGC API Transactions, Django, CQL/PostgreSQL enhancements and hierarchical collections. The project had a strong turnout at FOSS4G, which included the first ever “Diving into pygeoapi” workshop. Oh, and pygeoapi is now an official OSGeo project!
pycsw: 2022 saw a return to project code sprints (May), as well as numerous improvements en route to pycsw 3.0 (XSLT support, JSON storage, SOLR backend). pycsw continues to be an early implementer of OGC API – Records, increasing STAC support, as well as improvements to contacts and templating (thanks to great work by Paul van Genuchten!).
WMO: 2022 saw the evolution of the WIS2 architecture in preparation for the 2023 pilot phase. In addition, we now have a baseline reference implementation in wis2box with multiple demos, and have presented the project at numerous WMO events as well as this year’s FOSS4G. Strong use of standards (data, metadata, APIs) from OGC, W3C and IETF for the next generation of weather/climate/water data exchange — exciting times!
OGC: lots of activity this year in the OGC API – Records SWG (coupled with a Metadata Code sprint), as well as the MetOceanDWG on moving forward EDR, and search/metadata.
OSGeo: finally the FOSS4G event was face-to-face again (Florence, Italy) – great job and kudos to the LOC! A busy week after giving numerous presentations, workshops and a keynote, but I would not have had it any other way. The face-to-face energy made it all worth it, whether it was meeting up with longtime friends or meeting new ones. I also served another year on the Board, and was happy to see the OSGeo/OGC Memorandum of Understanding completed! This also paved the way for proper and unlimited OSGeo representation at OGC. I’m also fortunate to have been elected to serve on the Board again to 2024. Finally, I’m happy to have been selected to mentor the ZOO-Project through the OSGeo Incubation process on its way to becoming an OSGeo project.
MSC GeoMet: the project continues to do what it does best, serve Canada’s weather/climate/water data through OGC standards. Yup, powered by MapServer and pygeoapi.
Health: another year (circa 2012) of not smoking. I took off considerable weight in 2022, put 1/3 of it back on, but now progressing again.
Looking forward to 2023:
pygeoapi: as we inch towards a 1.0, and having landed so many features in the codebase, it’s time to address some technical debt. I’m hoping for 12-18 months of housekeeping/refactoring to help harden things for a 1.0 release (target 2024) and sustainable future moving forward. The “Diving into pygeoapi” workshop will hopefully be accepted and given again in 2023 at FOSS4G, as well as a possible dedicated code sprint.
pycsw: we are targeting a 3.0 this year, pending progress on OGC API – Records. Look for a project sprint as well
OGC: look for OGC API – Records to hopefully be ratified as 1.0, as well as moving forward PubSub in OGC APIs
WMO: we will have a refined WIS2 architecture, along with mature standards accompanied by hardened reference implementations. WCMP2 should be mature in its definition and implementation (pywcmp, pygeometa), as well as WIS2 notification message standard (pywis-pubsub). Look for a wis2box 1.0 release in 2023
OSGeo: look for the establishment of a Standards Committee to help drive our vision forward on the OGC front, as well as the 3rd joint OSGeo/OGC/ASF sprint in March/April
So 2021 wasn’t much better than 2020. Another year of endless virtual meetings and the 24 hour office. Here are some updates from WFH life:
pygeoapi: both OGC API – Records and OGC API – Environmental Data Retrieval support were added to the codebase. The project also saw both CQL and i18n support, which is a positive indicator of contributions from various developers. Thanks Sander Schaminee and Francesco Bartoli!
pycsw: OGC API – Records and STAC API were both implemented. In addition, CQL support was added with the help of the impressive pygeofilter package — great work by Fabian Schindler!
QGIS MetaSearch: standards implementation needs both servers and clients, and so OGC API – Records support made it into MetaSearch. A nice by product of this enhancement is the implementation in OWSLib, which MetaSearch uses as its discovery library.
OGC API (Records, EDR): EDR is now an adopted standard! Records also made great strides in 2020, and helping clarify the relationship with STAC has proved valuable for all communities involved.
WMO: Lots of fun work this year on the Task Team on WIS Metadata: new KPIs, an update to the WIS Guide, the metadata search pilot, and we backed it up with tools (pywcmp, pywiscat). In addition, the Expert Team on Architecture and Transition (W2AT) was formed to move forward technical regulations on the WIS 2.0.
MSC GeoMet: our weather/climate/water OGC API platform continues to crank out millions of maps, features and metadata on the daily for everyone. Happy to report that real-time / event driven data support was added this year to our pygeoapi instance.
FOSS4G: between 7 presentations and the Geopython workshop, lots of action this year at this year’s virtual FOSS4G global event. I was fortunate to deliver these alongside some really talented folks in the Geopython community. Kudos to the BALOC for putting on such a great event under some difficult circumstances!
OSGeo Board of Directors: I was happy to help with the first ever OSGeo / OGC / Apache joint sprint, as well helping move forward the OSGeo / OGC MOU renewal.
Health: another year (circa 2012) of not smoking. The pandemic continues to challenge the scale, although some recent progress has helped some. Implementing a balanced diet and regular exercise routine is essential and more if is combined with ice hack weight loss supplements, as well as seeking support from friends, family, or professionals if needed. Tracking progress and staying motivated throughout the year will help to maintain focus on the resolution and ultimately achieve the desired weight loss.
For 2022:
OGC API: critical path for me this year are helping in the adoption of Records and Coverages
WMO: WIS 2.0 continues to evolve, lowering the barrier to weather/climate/water data. I recently signed on as lead architect/dev of the WIS 2.0 in a box project, which will be a reference implementation and publishing pipeline aligned with WIS 2.0 principles. Under the hood is Geopython, PubSub. Look for an initial release in 2022
OSGeo: 2022 will mark the year that the OSGeo / OGC MOU is officially updated, along with a shiny new Associate Membership. Rolling this into the OSGeo standards community will be key, along with moving forward the renewal of OGC CITE tooling
pycsw: key items this year include XSLT transformation pipelines, virtual collections and deeper JSON support. We are also planning a sprint in Q1, come join us!
pygeoapi: look for deeper support of OGC EDR as well as some refactoring that will help with extensibility (primarily for output formats)
Wishing everyone a safe and happy and better 2022!
So 2020 didn’t quite work out as expected or hoped. Still, in a year where days seemed to fold into one another, the 24 hour home office and endless virtual meetings, some successes:
pygeoapi: the Python OGC API server continues to pick up steam. The project was presented, demoed and discussed at numerous events. 2020 saw the addition of support for OGC API – Coverages, OGC API – Tiles, STAC, as well as improvements to OGC API – Processing job management and queryables
more Geopython: pycsw, PyWPS, OWSLib, GeoHealthCheck continue to be developed/maintained, and we are starting to see OGC API support trickling in. Big thanks to the communities that support those projects. pygeometa has been refactored for supporting any metadata format output, which further positions the project for STAC and JSON-based metadata exchange
WMO: with the new WMO structure in place, I was honoured to be nominated to the Standing Committee on Information Management and Technology (SC-IMT), as well as chairing the Expert Team on Metadata Standards of (ET-Metadata) and participation on ET-Data
GeoMet: our weather/climate/water API platform continues to grow with more open data and OGC API support, powering the Canadian Centre for Climate Services, WeatherCAN, Canadian Open Data and beyond
OGC API: Records and Coverages are groups that I was particularly involved in to move forward discovery and raster data API access. I look forward to help lock down these standards
OSGeo Board of Directors: I was honoured to be re-elected for a second term to the Board and look forward helping OSGeo grow, particularly with regards to standards implementation in the Community
health
another year (circa 2012) of not smoking
the pandemic has not been easy for weight management. Time to get back on that!
For 2021:
OGC API: the march continues to modernize the API client/server ecosystem, and I’ll be targeting the Geopython projects, as well as QGIS, MapServer, GeoNode and associated Golang tools
OSGeo: continue to foster interaction with standards development organizations (OGC, ISO TC211, etc.) and help navigate the community through these unprecedented times
pycsw: update the pycsw core model to encompass OGC API as well as integration with pygeoapi
pygeoapi: work on OGC API – Records and OGC API – Maps continues to progress and should make its way into master this year. Other candidates include OGC API – Styles and EDR API. In addition, I’m hoping this is the year we enter OSGeo incubation
this website: revitalize the photo galleries and possibly migrating the blog into a static site generator approach
In summary, another year of firm belief in the Unix philosophy, composable workflow and lowering the barrier to geospatial data and tools for anyone.
I hope we have the ability at some point to see one another this year, whether at a code sprint or meeting/event. I’d like to wish everyone and their loved ones a healthy, safe, happy and, well, better 2021!
In an increasingly globalized world, classrooms are becoming more culturally diverse, reflecting a rich tapestry of backgrounds, languages, and traditions. For educators, this diversity presents both an opportunity and a challenge. To create an inclusive learning environment where every student feels valued and respected, teachers must develop cultural competence—a deep understanding of and respect for cultural differences. This article explores the importance of cultural competence in education, provides practical strategies for fostering cultural awareness, and highlights resources for professional development in this critical area.
The Importance of Cultural Competence in Education
Cultural competence is the ability to understand, appreciate, and interact with people from cultures or belief systems different from one’s own. In a classroom setting, cultural competence involves recognizing and addressing the diverse needs of students, creating an inclusive environment, and ensuring that all students have equal opportunities to succeed.
1. Enhancing Student Engagement and Learning:
When teachers are culturally competent, they can better connect with their students, leading to increased engagement and academic success. Students are more likely to participate actively in class and feel a sense of belonging when they see their culture represented and respected in the curriculum and classroom activities.
2. Reducing Bias and Discrimination:
Cultural competence helps educators recognize and challenge their own biases and stereotypes, leading to a more equitable classroom environment. By understanding cultural differences and the unique challenges faced by students from diverse backgrounds, teachers can take proactive steps to prevent discrimination and create a supportive learning environment for all.
3. Preparing Students for a Diverse World:
In addition to academic content, schools play a crucial role in preparing students for life in a diverse society. By fostering cultural competence, teachers help students develop empathy, open-mindedness, and the ability to work effectively with people from different backgrounds—skills that are essential in today’s interconnected world.
Understanding Cultural Differences
To build cultural competence, educators must first understand the cultural differences that exist among their students. This involves recognizing the various factors that shape a student’s identity, including ethnicity, language, religion, socioeconomic status, and family structure.
1. Learn About Your Students’ Cultures:
Take the time to learn about the cultures represented in your classroom. This could involve reading about cultural practices, traditions, and values, or engaging in conversations with students and their families. Understanding students’ cultural backgrounds can help you tailor your teaching methods and create more relevant and meaningful learning experiences.
2. Reflect on Your Own Cultural Identity:
Cultural competence also requires self-awareness. Reflect on your own cultural background and consider how it influences your teaching style, interactions with students, and expectations. Recognizing your own cultural lens can help you become more open to different perspectives and avoid imposing your own cultural norms on students.
3. Avoid Cultural Assumptions:
It’s important to recognize that culture is complex and multifaceted. Avoid making assumptions about a student’s abilities, behaviors, or needs based on their cultural background. Instead, approach each student as an individual with their own unique experiences and perspectives.
Strategies for Creating an Inclusive Classroom
Creating an inclusive classroom environment requires deliberate effort and the implementation of strategies that promote cultural awareness and respect.
1. Integrate Multicultural Content into the Curriculum:
Incorporate diverse perspectives and voices into your curriculum. This could involve including literature, history, and examples from different cultures in your lessons, or using case studies and examples that reflect the diversity of your students. By integrating multicultural content, you can help students see the value of different cultural perspectives and encourage them to appreciate diversity.
2. Foster Open Dialogue:
Create a classroom culture where students feel comfortable discussing cultural differences and sharing their own experiences. Encourage open dialogue about culture, identity, and diversity, and provide opportunities for students to learn from one another. Establish ground rules for respectful communication to ensure that all students feel safe and supported during these discussions.
3. Address Bias and Stereotypes:
Take an active role in addressing bias and stereotypes in the classroom. This could involve correcting misconceptions, challenging discriminatory comments, and providing counter-narratives to common stereotypes. Educate students about the impact of bias and encourage them to reflect on their own attitudes and behaviors.
4. Differentiate Instruction:
Recognize that students from different cultural backgrounds may have different learning styles, preferences, and needs. Differentiating instruction—using a variety of teaching methods, materials, and assessments—can help ensure that all students have access to the curriculum and can learn in ways that are most effective for them.
5. Promote Equity in Classroom Participation:
Ensure that all students have the opportunity to participate in classroom activities and discussions. Be mindful of dynamics that may exclude certain students, such as language barriers or cultural norms around speaking out in class. Use strategies like small group work, think-pair-share, and written reflections to give all students a voice.
Professional Development Resources for Cultural Competence
Developing cultural competence is an ongoing process that requires continuous learning and reflection. Fortunately, there are many resources available to help educators build their skills in this area.
1. Diversity and Inclusion Training Programs:
Many organizations offer professional development programs focused on diversity, equity, and inclusion in education. These programs provide training on cultural competence, bias awareness, and inclusive teaching practices. Some well-known organizations offering such programs include the National Education Association (NEA) and the Southern Poverty Law Center’s Teaching Tolerance program.
2. Books on Cultural Competence:
There are numerous books that offer valuable insights into cultural competence and diversity in education. Titles such as “Culturally Responsive Teaching and The Brain” by Zaretta Hammond and “The Culturally Inclusive Educator” by Dena R. Samuels provide practical strategies for creating inclusive classrooms and understanding cultural differences.
3. Cultural Competency Certifications:
Some educational institutions and organizations offer certifications in cultural competence. These certifications typically involve completing a series of courses or workshops focused on diversity, equity, and inclusion. Earning a certification can demonstrate your commitment to cultural competence and provide you with the skills and knowledge needed to support diverse learners.
Conclusion: Embracing Diversity and Inclusion in Education
Building cultural competence and teaching empathy to students is essential for educators who want to create inclusive classrooms where all students can thrive. By understanding cultural differences, integrating multicultural content into the curriculum, and continuously developing their skills, teachers can foster an environment of respect, equity, and collaboration.
As our classrooms continue to become more diverse, the need for cultural competence in education will only grow. By embracing diversity and committing to ongoing professional development, educators can not only improve their teaching practices but also prepare their students to succeed in a multicultural world.
What a year! Following on from 2017, in no particular order, here goes:
Bonn Code Sprint: talk about a worthwhile event! It was great to meet old and new OSGeo hackers. Serious progress made on many projects (keep reading)
OWSLib: thanks to Carsten Ebrecht, we finally have a much better handling on tests (moving to pytest, skipping hosts that are down, etc.).
OSGeo Board of Directors: I was honoured and excited to be nominated and elected into the Board and look forward to helping guide the way for the Foundation
pycsw: we released 2.2 at the Bonn Code Sprint, and our Athens dev meeting in the summer helped paved the way for pycsw 3.0 which will get a major revamp given the direction of the OGC service architecture modernization
GeoHealthCheck: thanks to Just Van Den Broecke and others we made progress this year on per resource scheduling and Docker. In related news, check out GeoQoS which provides GHC as a service. Great work Just!
PyWPS: this Python based WPS server graduated as an OSGeo project! Congratulations to the community and thanks for helping with incubation
GeoUsage: following the UNIX philosophy, this lightweight Python package provides OWS aware web analytics. Handy for finding out your top requested WMS layers, for example
pygeoapi: born out of the OGC WFS 3 hackathon and Bonn Code Sprint, pygeoapi provides WFS 3 capability and a way forward framework for OGC web services (read REST/JSON). A clean break from the traditional OGC service interface design pattern
adventures in Go: in the new horizons category, geocatalogo and jivan were developed to support the STAC and WFS3 APIs using Go and everything it brings to the table. I have to admit, even as a Python die-hard, Go is fun to work with and has great potential for the long term
Pydap: we revived Pydap this fall by providing access for more maintainers and clearing out some of the issue backlog
GeoMet: as part of the Meteorological Service of Canada we released a major upgrade to our national realtime weather WMS, thanks to MapServer and Python MapScript. 1000s of weather layers via OGC standards!
CCCS: the Canadian Centre for Climate Services was launched in the fall and I was lucky enough to architect the provisioning of 1000s of climate datasets as OGC Web Services and the extraction tool. As part of this effort we used pygeoapi to serve out our station data archives and mappyfile/MapServer/Python MapScript for historical and forecast climate datasets. As icing on the cake we’ve published our relevant source code to GitHub to boot — check it out! I can’t recommend enough mappyfile for those who need composable mapfile workflows!
health
another year (circa 2012) of not smoking
I’ve put on most of the weight I lost in the last couple of years (no excuses). Back on it in 2019 I promise.
For 2019:
OGC next generation APIs: one way or another all major OGC service specifications will undergo the REST/JSON/clean break treatment. This means updates to servers and clients accordingly (read pycsw, PyWPS, pygeoapi, MapServer, OWSLib, etc.), as well as supporting tools
OSGeo Board: there is an interest in geospatial Python implementations from the OGC and I’ll be looking for ways to market geopython more to OGC from an OSGeo perspective
Pydap: I think this is the year that I do something real with Pydap. On deck is stable deployment and custom handlers for weather data
I’d like to wish everyone and their loved ones a healthy, happy and productive 2019!
20 years ago I was living in Ottawa, in GIS school and started working with Natural Resources Canada. Fast forward to a few weeks back scanning through old CDROMs and low and behold there was my first ever website. I sat back for a few minutes remembering the details:
made with Microsoft FrontPage followed by HotDog Express (WYSIWYG HTML editors)! At the time, I was convinced at the time this was the only way to be an HTML programmer
the website first made it to the Internet in March 1998 and bounced around a few places:
http://alqonquinc.on.ca/~kral0003 (Algonquin College account)
http://chat.carleton.ca/~279186 (Carleton University account)
http://nrcan.gc.ca/~tkralidi/ (work account)
http://www.storm.ca/~tommy (Storm Internet who provided awesome service)
Concerned that this wasn’t enough, I was motivated to host the site on my own, with a real domain and so on. I bought Red Hat Linux 6 Server by Mohammed J. Kabir (great book!) and learned how to put up a server and website from the ground up (DNS, firewall, services, etc.), killing an entire weekend
the website then finally found a permanent home at http://kralidis.ca
Soon after learning Linux a few months later, I was motivated to rewrite the site in pure HTML, by hand. From there I added a picture gallery, source code, blog, and so on.
I continue to post to the blog, but things like GitHub, Twitter, Facebook, etc. provide similar capabilities without the hosting maintenance/hassle.
Continuing on the UNIX philosophy, another little tool to help with your OWS workflows.
GeoUsage attempts to support the use case of metrics and analysis of OWS service usage. How many users are hitting your OWS? Which layers/projections are the most popular? How much bandwidth? How many maps vs. data downloads?
A pure Python package, GeoUsage doesn’t have strong opinions beyond OWS-specific parsing and analysis of web server logs. GeoUsage is composable, i.e. frequency, log management, and storage of results is totally up to the user. Having said this, a simple and beautiful command line interface is available for eyeballing results.
As always, GeoUsage is free and open source.
It’s early days, so feedback, bug reports, suggestions are appreciated. Contributors are most welcome!
At the beginning of a new year, it is beneficial to reflect on the previous year and summarize the significant events and memories. This can include everything from the new knowledge and skills gained to special moments like children’s birthdays and cherished gifts like baby boy clothes. Taking the time to acknowledge and appreciate these experiences can help us enter the new year with a sense of gratitude and excitement for what lies ahead.
Here we go again! Following on from last year, a summary of my 2017:
– pycsw: the lightweight CSW server continues provide stable, composable, and compliant CSW services. Highlights include:
an official code of conduct
Docker image
testing framework enhancements
code coverage support
custom repository plugin filter parsing
– MapServer metadata: at long last RFC82 has been implemented in master and will be available in 7.2. This enhancement will bring more fulsome layer/feature type/coverage metadata support to OGC web services in MapServer
– QGIS metadata: at long last metadata support is building in QGIS! There is now an official internal schema as well as work in master around the editor
– parsers: in the back to basics category, pyshadoz and pynumeric were built as small, composable Python packages to feed operational data processing workflows. At the end of the day (or the beginning depending on how you look at it), it’s all about the data, and data formats are everything
– other geopython:
pygeometa: another little toolset for discovery metadata, YAML is now the supported configuration format
OWSLib: continues its (still pre-1.0!) journey, making OWS suck less
GeoHealthCheck: Just has been leading the charge on improvements and fixes to GHC (thanks Just!)
– health:
another year (circa 2012) of not smoking
I’m happy to continue commitment to the Greek/Mediterranean diet. Another 10lbs would be great, however I’m very happy with my overall state of weight management (first time since starting a desk job in 1997). Some small adjustments and minor ups/downs, but overall stable and continued following of olivetomato.com
I’ve also given up coffee after 25 years and would highly recommend it!
For 2018:
-pycsw: the pycsw team is attending the OSGeo Code Sprint 2018 in Bonn, and will be working on getting 2.2 out the door as well as pycsw 3.0 planning (more info on this soon)
– QGIS metadata: looking forward to continuing this effort with enhancements to MetaSearch to allow for CSW publishing
– Pydap: I’m hoping to make some serious movement in deployment Pydap with some dayjob projects. Key focus is hardening deployment as well as stability
– Golang: some may have seen some recent work on geocatalogo. Given the nature of Go and simplicity of deployment, there is opportunity in the geospatial community for Golang packages in providing geospatial discovery and access services which are based on focused use cases / workflows, are dead simple to install, deploy and scale, and blazing fast. While these packages may not be as full-featured or mature as current OSGeo projects, there’s certainly room for them and hopefully we can see a Golang geospatial community evolve over the next few years
– PyWPS OSGeo incubation: got a bit closer but didn’t finish this off in 2017. A sprint will close this one and send for graduation
– OWSLib tests: could this be the year that OWSLib unit tests are finally not always failing!?
In summary, another year of firm belief in the Unix philosophy.
And what can we expect as people who struggle with being overweight every year? Better and better medications and formulas that allow us to carry out our process with dignity, which is why at the beginning of the new year, the arrival of the best phentermine over the counter gives us a push in the right direction, everything within reach of a link.
I’d like to wish everyone and their loved ones a healthy, happy and productive 2018!