Drop #245 (2023-04-21): Weekend Project Edition
Choose Your Own Adventure: Step Out Of Our Comfort Zones , Or Play In The Sandbox
We have a vast planet, with diverse ecosystems and cultures, and polar opposite seasonal differences. I am, for better or worse, a denizen of the Northern Hemisphere; specifically North America; and, more specifically, the northeast portion of the “United” States of America. This means a fair chunk of readers kind of have to put up with references that do not track with their present lived experience.
I begin with said expository because I am having a super hard time suggesting anyone spend any time indoors this weekend, now that Spring is fully upon us.
However, duty calls, and we're mixing it up a bit today, since it seemed a bit mean to just drop the first WPE suggestion idea on everyone. So, today, you can choose your own adventure and step a bit outside your comfort zone this weekend, or keep cozy and play in a friendly sandbox (or two).
Both paths follow the “is actually achievable” theme these WPEs have been adhering to, so neither should be too daunting of an actual task.
Step Out Of Our Comfort Zones
As we progress on our coding journeys, it's easy to become comfortable in our bubbles of expertise. We may feel like we have a good grasp of the languages and tools we use every day; and, likely, rarely consider stepping outside our comfort zones to dive into other areas, let alone sticking our necks out to boldly contribute to a project that is not our own.
Contributing to open-source projects is not only a great way to strengthen your skills, but it's also a fantastic opportunity to give back to the community and make a difference in projects you 💙 and respect. So, hear me out as I review some benefits of stepping outside your comfort zone, finding an open-source project that resonates with you, and suggest tackling a “good first issue” as part of your personal coding journey.
Truth time: this is not an easy task!
Poking one's head into another's repo and daring to be vulnerable enough to stick one's moniker on bits of code — asserting that “this will do what you wanted” — and firing it off for the world to see is, at least at first, not easy business. But, when you push your boundaries, you open up a world of possibilities and opportunities for growth. By venturing into unfamiliar territory, you challenge your preconceived notions, expand your horizons, and ultimately become a better coder. Not only will you learn new languages and tools, but you'll also gain valuable experience in problem-solving, collaboration, and communication.
You can start by exploring projects that resonate with you. It could be a project you've used before and found helpful, or one that aligns with your passions and interests. It may be one that uses a language, framework, or approach you've been curious about, but have never used yourself. By choosing a project that you care about, there's increased motivation to contribute and invest your time and effort.
But, if you're having trouble deciding, and some projects you 💙 are very mature and have somewhat complex issues to tackle, you can always see what good first issues (GH) there are to tackle.
That site is a friendlier (IMO) interface to GitHub's own “good first issue” tag (so much, so I won't even link to the tag). It also goes beyond the “good first issue” label, which provides for a broader selection, and crawls GH regularly to keep the list fresh.
I'm a little sad that there is not an ocean of issues to select from, but there are plenty to wade through. And, your contributions do not have to be code, or code that will run in the core parts of a given project. Plenty of projects need help with documentation, translation, test writing, examples, and more.
If you're finding the discovery capabilities of that site a bit thin for your taste, you can try First Contributions or Up For Grabs, both of which offer alternative discovery capabilities, and showcase various projects right up front.
Drop a note with a link to your PR if you do go this route!
Play In The Sandbox
If you'd prefer a less public project to crank on, but you also don't want the frustration of figuring out how to get your local system set upwith the necessary tools (and, very likely, some type of Docker thing), might I suggest giving Glitch or CodeSandbox a go? Both provide the necessary tools, features, and environments — plus plenty of official and community examples to riff from — to get started in risk-free new coding worlds.
CodeSandbox is an online code editor and development environment, specifically designed for web tech. It enables you to create, edit, and test web-oriented code directly in your browser, without the need for any local setup. CodeSandbox supports many development frameworks and libraries, including all the ones the cool kids blather on incessantly about, making it a versatile choice for gaining new skillsets. The interface is clean and immensely usable just on its own. You can also pair up with others to learn together, share your creations with the world, wire up VS Code and GitHub, and more.
While Glitch has many similar features (so, I will avoid repeating the above paragraph) there are key differences that can influence your choice between these two platforms.
CodeSandbox, as noted, provides templates and support for a wide range of web development frameworks and libraries. Glitch does not focus specifically on these frameworks but instead offers a more general-purpose environment that supports various programming languages, such as Node.js, Python, and more. That means you can incorporate some things that may be more familiar to you as you delve into new territory.
Glitch is a bit more playful but still as user-friendly as CodeSandbox, and also has real-time previews, but its live collaboration feature is more focused on the ability to “remix” projects (fork them and make changes) rather than real-time editing with other users.
Both allow you to host and deploy your projects directly from their platforms. CodeSandbox provides seamless integration with popular hosting services like Netlify and Vercel, while Glitch offers its own hosting service with custom domain support.
Glitch emphasizes its strong community and offers a bonkers number of learning resources, including tutorials, sample projects, and starter kits. CodeSandbox also has a growing community, and its “Explore” section showcases featured projects and templates from other users. However, its focus is more on the development environment itself rather than providing educational content (at least in my brief experience with it).
I don't have anything to showcase on CodeSandbox, but you can poke at my WebR experiment on Glitch which I did earlier this week both just to do it, and preparing for this WPE.
Hit me up if you need help getting started on either, and drop links to anything you create on either platform.
Zero judgement if you just decide to go outside and play in IRL sandbox or help some folks with yard/housework instead. ☮
i.e., I am keenly aware that it is not “Spring” everywhere
or your daily driver is a Chromebook or iPadOS/Android — tablet, which means you don't really have a “local system”